我實例爲谷歌地圖API(3級)自動完成輸入,就像這樣:如何開啓和關閉谷歌地圖自動完成功能?
var input = document.getElementById('szukanyAdres');
autocomplete = new google.maps.places.Autocomplete(input);
autocomplete.bindTo('bounds', map);
如何在運行時打開自動完成功能的開啓和關閉?
我實例爲谷歌地圖API(3級)自動完成輸入,就像這樣:如何開啓和關閉谷歌地圖自動完成功能?
var input = document.getElementById('szukanyAdres');
autocomplete = new google.maps.places.Autocomplete(input);
autocomplete.bindTo('bounds', map);
如何在運行時打開自動完成功能的開啓和關閉?
有相關的自動完成
所以你可以做的:通過修改他們的顯示樣式顯示或隱藏兩個元素。
如果無法隱藏輸入,則可以用輸入克隆代替輸入,這將刪除自動完成功能。
inputObject.parentNode.replaceChild(inputObject.cloneNode(true),input);
要恢復自動完成,請再次執行您想要執行的操作。
我不能隱藏輸入:/ – 2012-03-22 23:41:32
上面增加了另一個建議 – 2012-03-23 01:10:19
Dr.Molle的解決方案不適合我。
我發現的解決方案是clearListener和除去PAC-容器:
var autocomplete;
var autocompleteListener;
function disableGoogleAutocomplete() {
if (autocomplete !== undefined) {
google.maps.event.removeListener(autocompleteListener);
google.maps.event.clearInstanceListeners(autocomplete);
$(".pac-container").remove();
console.log('disable autocomplete to GOOGLE');
}
}
function enableGoogleAutocomplete() {
autocomplete = new google.maps.places.Autocomplete($("#inputDiv input")[0], options);
autocompleteListener = google.maps.event.addListener(autocomplete, 'place_changed', function() { ... }
console.log('set autocomplete to GOOGLE');
}
現在我可以打開/關閉谷歌放置自動填充。
您確定這是在功能上禁用自動填充嗎?它在視覺上可行,但當我註釋$('。pac-container')。remove()時,監聽器/自動完成仍然是活動的。 – 2014-05-06 14:31:51
是的,我使用它來在Google地圖自動填充和我自己的數據之間切換。 – Jerome2606 2015-01-26 19:54:42
爲什麼在這裏使用'google.maps.event.removeListener'?你正在使用'google.maps.event.clearInstanceListeners',這就夠了。 – Erik 2015-02-11 20:19:55
刪除所有添加到自動填充的偵聽器。
autocomplete.unbindAll();
刪除添加到輸入元素的所有偵聽器。
google.maps.event.clearInstanceListeners(input);
見https://code.google.com/p/gmaps-api-issues/issues/detail?id=3429
聖潔的廢話,是的謝謝你!在發生多次失敗的輸入時,花費了數小時嘗試在Google地點和另一個API之間切換,這實際上解決了問題。禁用Places後,我們的其他服務顯示了一些建議,但是,儘管其他事件被禁用且容器隱藏,但谷歌仍然通過填充輸入提供了關鍵字。 – drew010 2016-06-07 21:46:04
如果寫到這裏什麼都不爲你工作,你可以嘗試只是隱藏它。 輸入時出現地方的字段位於css class .pac-container中,因此只需在css display:none中聲明它即可。然後它不會出現在搜索框中輸入。實際上它不是定製它的方法。
我不明白,你不想在你的網站上使用自動完成?那麼,爲什麼不刪除代碼呢? – 2012-03-22 19:38:27
我想打開和關閉它 – 2012-03-22 19:53:03