typeahead - 如何使用google place api与bootstrap bloodhound

时间:2014-04-16 13:06:55

标签: google-places-api typeahead.js bloodhound

我想使用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获取谷歌的api结果?

3 个答案:

答案 0 :(得分:2)

您可以尝试Typeahead Address Picker

答案 1 :(得分:0)

理想情况下,合并Google地方结果和本地数据库结果并不是一个好主意。这将是非常缓慢的。如果您想要显示其他地址,可以使用Google地方信息中的应用密钥添加这些地点。那些地方会适度,但好的是,即使他们被拒绝,他们也可以供你的申请使用。只有捕获而不是使用'AutoComplete'api你必须使用'NearyBy'google api,你需要传递radius和LatLong。

答案 2 :(得分:0)

虽然很晚,但您可以查看typeahead-googleplaces