2012-06-26 65 views
0

我想使用內置功能(我有一個InfoBox不需要關閉按鈕,它是爲什麼我需要這項工作)。爲Google Maps InfoBox創建自定義關閉按鈕

通常我會做這樣的事情可關閉標記:

google.maps.event.addListener(map, 'click', function(){ 
    aMarker.close(map, marker); 
}); 

但這樣做與資訊盒中的成分類似的東西是不行的,就像這樣:

var closeInfoBox = document.getElementById("close-button"); 
google.maps.event.addListener(closeInfoBox, 'click', function(){ 
    aMarker.close(map, marker); 
}); 

有使用InfoBox中的元素關閉InfoBox的方法?

編輯:沒有事件處理程序可以從信息框內調用看起來。有沒有辦法做到這一點?

+0

[Google Map API v3〜Simply Close an infowindow?]的可能重複(http://stackoverflow.com/questions/2946165/google-map-api-v3-simply-close-an-infowindow) – ManseUK

+0

嘿我可以輕彈你一個工作演示 - 所以點擊你期待一個自定義對話框,然後你可以點擊添加標記,它會添加標記?讓我知道你是否在找什麼,':)' –

+2

@ManseUK:不是重複的,該線程正在使用Google Maps的InfoWindow功能,而我正在使用InfoBox實用程序。 – mmmoustache

回答

0

嘗試addDomListener而不是addListener。 例如:

var closeInfoBox = document.getElementById("close-button"); 
google.maps.event.addDomListener(closeInfoBox, 'click', function(){ 
    aMarker.close(map, marker); 
}); 
+0

也不起作用!出於某種原因,無法從InfoBox中調用事件處理程序 – mmmoustache

0

好了,這是很古老的問題,但由於它是在搜索引擎的熱門我會盡量回答。

如果要隱藏資訊盒標準關閉按鈕,只需添加這個樣式表:

.infoBox > img { display: none; } 

然後創建一些監聽器識別當前的信息框爲@ManseUk提到並調用close方法。