2016-06-20 8 views
0

私はgoogle.maps.places.Autocompleteオブジェクトを持っており、テキストが入力されるたびに表示される「閉じるボタンX」を隠すか無効にする必要があります。 onClickEventがあれば「閉じる」ボタンを取得してオーバーライドするほうがはるかに優れていますか?google.maps.placesを非表示にする/無効にする。閉じるボタンを閉じる

+0

私はそのようなボタン[例](https://google-developers.appspot.com/maps/documentation/javascript/examples/full/places-searchbox)が表示されません。 'Infobox'ウィンドウを意味しますか? – Erevald

答えて

1

イベントのバインド解除には、google.maps.event.clearInstanceListenersを使用してください。 。

オートコンプリート機能を削除するための実装方法はありません。オートプレットを作成する前に入力のクローンを作成し、オートコンプリート機能を削除したい場合は、現在の入力をクローンで置き換えることができます。

(function(ac) { 
google.maps.places.Autocomplete = function(node, opts) { 
var clone = node.cloneNode(true), 
pac = new ac(node, opts); 

google.maps.event 
.addListener(pac, 
'remove', 
function(restore) { 
google.maps.event.clearInstanceListeners(pac); 
google.maps.event.trigger(node,'blur'); 
google.maps.event.clearInstanceListeners(node); 
if (restore===true) { 
node.parentNode.replaceChild(clone, node); 
} else { 
node.parentNode.removeChild(node) 
} 
}); 
return pac; 

} 
} 
(google.maps.places.Autocomplete)); 
//-------------------------------------------------------------------------- 

function initialize() { 

autocomplete = new google.maps.places 
.Autocomplete(document.getElementsByTagName('INPUT')[0], { 
types: ["geocode"] 
}); 
} 

google.maps.event.addDomListener(window, 'load', initialize); 

<script src="https://maps.googleapis.com/maps/api/js?v=3&libraries=places&.js"></script> 
<input/> 
<span> 
<input type="button" value="remove input" 
onclick="google.maps.event.trigger(window.autocomplete,'remove'); 
this.parentNode.parentNode.removeChild(this.parentNode);"/> 
<input type="button" value="remove autocomplete-functionality" 
onclick="google.maps.event.trigger(window.autocomplete,'remove',true); 
this.parentNode.parentNode.removeChild(this.parentNode);"/> 
<span> 
+0

素晴らしい!ありがとう、私はそれを試してみます... –

+0

心配のメイト〜! –

関連する問題