2013-10-21 64 views
0

在Google Map API v3中,我想將infoBox(或infoWindow)顯示爲div,例如30%寬度,地圖的最大高度以及它的位置絕對在地圖的左側。我已經看到了這個實現,其中實際的infoBox在Map div之外(例如:http://www.londontypographica.com/map/)。Google Maps API v3 - 如何獲取infoBox外部地圖div

主要問題是infoBox的內聯樣式根據標記的座標(或在選項中指定)來定位框,加上它似乎完全相對於地圖容器定位。我不知道如何刪除這些內聯樣式。下面是這些樣式的例子(他們計算的每一次點擊的標記,所以我最有可能需要禁用該功能或​​某事):

<div class="infoBox" style="position: absolute; visibility: visible; width: 43px; left: 500.44037546636537px; top: 234.43615104886703px; cursor: default;">(...)<div> 

總之:我想刪除內嵌樣式(或防止應用它時標記被點擊)infoBox,並將其移動到谷歌地圖容器外(這樣我可以很容易地定位和調整元素的大小)。提前致謝!

回答

2

您不必使用信息框。您只需處理標記點擊事件並使用您想要的任何數據填充所需的任何div。

這就是你鏈接到的例子。在標記點擊事件上,它將地圖放在標記上,然後用相應的圖像加載一個div。

+0

謝謝,這是完全可行的,但它是解決這類問題的「最佳實踐」嗎?順便說一句,不想創造新的話題,但有沒有機會讓你知道我可以如何改變中心點,就像我提供的例子(當你彈出信息窗口時標記移動到右邊)。 – Malyo

+0

^Nvm關於居中,發現panBy方法很好地做到這一點。 – Malyo

+1

@Malyo,這裏沒有最佳做法。它適用於您的網站。我建議的唯一方法是確保「外部信息框」與地圖畫布相鄰,而不是屏幕另一側的某處。也許在視覺上將這兩個邊界與兩個區域的邊界相連。另外,如果你想要一個彈出div,然後嘗試確保它不會遮擋地圖。 –