3

我想使用Bloodhound的多个数据集功能从本地数据库获取结果,另一个从 google places api 获取结果。我可以从我的本地数据库中获取结果,如下所示,

// instantiate the bloodhound suggestion engine
    var searchData = new Bloodhound({
        datumTokenizer: function (d) {
            return Bloodhound.tokenizers.whitespace(d.value);
        },
        queryTokenizer: Bloodhound.tokenizers.whitespace,        
        remote: {
            url: 'http:://localhost/address/fetch?q=%Query' //Local URL           
        }
    });
    // initialize the bloodhound suggestion engine
    searchData.initialize();
    // instantiate the typeahead UI
    $('.typeahead').typeahead({        
        hint:false,
        highlight: true,
        minLength: 3
        }, {
        name:'search-data',
        displayKey: 'title',
        source: searchData.ttAdapter(),       
        templates: {            
            suggestion: Handlebars.compile('<p><strong>{{title}}</strong></p>')            
        }        
    });

我想使用 Bloodhound 多数据集功能将本地数据库结果与 google Places api 结果结合起来。

如何使用 bootstrap Bloodhound 获取 google places api 结果?

4

3 回答 3

2

你可以试试Typeahead Address Picker

于 2014-05-14T22:53:37.780 回答
0

理想情况下,将 Google Places Result 和 Local Databases Result 结合起来并不是一个好主意。它会很慢。如果您想显示一些额外的地址,您可以使用 Google Places 中的应用程序密钥添加这些地点。这些地方会进行审核,但好处是即使它们被拒绝,它们也可供您的应用程序使用。只有捕获不是使用“AutoComplete”api,您必须使用“NearyBy”google api,并且您需要传递半径和 LatLong。

于 2015-05-12T12:02:06.570 回答
0

虽然晚了,但你可以看看typeahead-googleplaces

于 2016-10-11T11:58:00.050 回答