2016-06-20 3 views
0

나는 google.maps.places.Autocomplete 개체를 가지고 있으며 텍스트를 입력 할 때마다 나타나는 "닫기 버튼 X"를 숨기거나 비활성화해야합니다. 가능하다면 "close 버튼"onClickEvent를 얻고 오버라이드하는 것이 훨씬 낫다.google.maps.places를 숨기거나 사용 중지하는 방법 닫기 버튼을 완료 하시겠습니까?

+0

I는 그러한 버튼 [예]를 보이지 않는 (https://google-developers.appspot.com/maps/documentation/javascript/examples/full/places-searchbox). 'Infobox' 창을 의미합니까? – Erevald

답변

1

이벤트 바인딩 해제의 경우 google.maps.event.clearInstanceListeners을 사용하십시오. .

자동 완성 기능을 제거하기 위해 구현 된 방법이 없습니다. Automplete를 작성하기 전에 입력 복제를 작성할 수 있으며 자동 완성 기능을 제거하려는 경우 현재 입력을 복제본으로 바꿉니다.

(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

걱정 마세요 ~! –

관련 문제