私はグーグルマップAPIv3AutocompleteServiceを使用して、ブートストラップの先行入力にデータをフェッチしています。ただし、グーグルの組み込みオートコンプリートを使用した結果の結果と比較すると、結果は少し不正確です。
私の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番目のボックスに入力すると、2つの結果しか表示されません。
私の質問は、なぜそれらがこれと異なるのか、そしてカスタムタイプアヘッドが組み込みのオートコンプリートとして完全に機能するように修復するにはどうすればよいかということです