我正在使用谷歌地图 APIv3 AutocompleteService 将数据提取到引导程序的预输入。但是,与使用谷歌内置的自动完成返回的结果相比,结果有点不准确。
我的 HTML 代码:
<label>Built-in</label><input type="text" id="address1" />
<label>Customize</label><input type="text" id="address2" />
我的脚本:
<script>
//this input use google built-in autocomplete
var input1 = document.getElementById('address1');
autocomplete = new google.maps.places.Autocomplete(input1);
//this input use google AutocompleteService
$('#address2').typeahead({
source: process_keyword
});
var service = new google.maps.places.AutocompleteService();
function process_keyword(query, process) {
var place_results = [];
var request = {
input: query,
types: ['geocode']
};
service.getPlacePredictions(request, function (predictions, status) {
process($.map(predictions, function (prediction) {
return prediction.description;
}));
});
}
</script>
我在这里发布了完整的代码:http: //jsbin.com/ididas/1/edit
例如当我输入
9 亭天晃
到第一个框,它将显示 5 个结果。但是当我在第二个框中输入相同的查询时,它只会显示 2 个结果。
我的问题是为什么他们有这个不同,我该如何修复,以便我的自定义预输入完美地作为内置的自动完成功能