1
我想要我的谷歌地圖我的jQuery自動填充字段。以便該字段可以顯示我預定義數組的結果,並同時解析爲Google地圖。整合谷歌地圖自動完成與jQuery的自動完成
我的代碼:
var autocompleteService = new google.maps.places.AutocompleteService();
var autocompleteList = [];
var eventsList = ["event1","event2"];
$("#edtSearch").autocomplete({
source: eventsList
}).on("autocompleteopen",function(event){
autocompleteList = eventsList.slice(0);
autocompleteService.getQueryPredictions({input: $(this).val()},
function(predictions, status){
if (status != google.maps.places.PlacesServiceStatus.OK) {
console.log(status);
return;
}
for (var k = 0, prediction; prediction = predictions[k]; ++k)
{
prediction = String(prediction.description).replace(/,/g,"");
autocompleteList.push(prediction);
}
$("#edtSearch").autocomplete({
source: autocompleteList
});
$("#edtSearch").autocomplete("search");
console.log(autocompleteList);
});
});
HTML:
<input id="edtSearch" type="text" size="50" />
現在這個代碼的工作,但由於 「autocompleteopen」 和 「自動完成(」 搜索 「)」 叫同樣的事情,我得到一個爲操作重複循環並最終在控制檯中「OVER_QUERY_LIMIT」。 我的問題是,我如何正確綁定事件,以便他們不會遞歸調用對方?我已經使用
var edtSearch = document.getElementById("edtSearch");
edtSearch.addEventListener("keypress",function(){});
和similiar解決方案嘗試,但我得到的錯誤是「未捕獲的錯誤:缺少參數必須指定輸入」。 我該如何解決這個問題?