我在我的輪子上發言,我不知道如何對此進行排序。我一直在掙扎幾天,它不像一個正常的信息框,因爲它不是一個標記,而是一個多邊形,這對我來說是一種新的東西。我有多邊形顯示來自XML文件的數據,他們顯示很好。我已經搜索了網頁,並且讓它將鼠標懸停設置到了鼠標懸停多邊形的位置,不透明度發生變化並彈出信息框。問題是信息框在彈出時顯示「未定義」,而不是我已經設置的用於顯示來自XML文件的數據的html。Google地圖V3 Infobox在多邊形上未定義
這裏是一個鏈接到測試圖的例子。
http://www.mesquiteweather.net/googlemap_poly.html
這裏是一個XML文件,其中我只是想展現的元素事件,並在信息框中過期的鏈接。
http://www.mesquiteweather.net/xml/warnings_test.xml
這是我一起工作的代碼來創建
function attachPolygonInfoWindow(polygon, html, event, expires)
{
var html = "<strong>" + event + "</strong>";
eventWarnings.infoWindow = new google.maps.InfoWindow({content: html});
google.maps.event.addListener(eventWarnings, 'mouseover', function(e) {
var latLng = e.latLng;
this.setOptions({fillOpacity:80});
polygon.infoWindow.setPosition(latLng);
polygon.infoWindow.open(map);
});
google.maps.event.addListener(eventWarnings, 'mouseout', function() {
this.setOptions({fillOpacity:0.35});
polygon.infoWindow.close();
});
}
var polygon = new google.maps.Polygon(/* omitted for brevity */);
attachPolygonInfoWindow(eventWarnings);
eventWarnings.setMap(map);
}
});
我敢肯定的InfoBoxes到和鼠標懸停事件,它是東西容易,我俯瞰,但我一直沒能找到與我的問題有關的任何事情。我很幸運,因爲多邊形沒有一個真正的中心,並且他們沒有像我用我可以處理的標記那樣設置,所以我得到了信息框顯示。
如果有人有任何建議,請讓我知道。
-Thanks
謝謝!是的,我在函數中提供了4個參數,但是當我嘗試向呼叫中添加多個參數時,無法顯示多邊形。所以爲了得到一個例子,我把它設置成這樣。我之前唯一不同的是我錯過了我所知道的那個小事。您的示例現在顯示了事件標題,但是當我嘗試添加過期並且未加載時。我有var html =「」+ event +「」;格式化樣式,但是當我將它添加到調用時,它會殺死地圖。我是否需要爲過期設置一個var來獲取名稱的元素標記? – Texan78 2013-05-01 21:44:09
您不需要創建一個變量來從XML中獲取該變量的值,它只會與其餘的代碼保持一致。你認爲「過期」的價值來自哪裏?另外,如果您沒有將任何內容傳遞給html參數中的'attachPolygonInfoWindow'函數,則可以將其刪除(而不是傳入佔位符...) – geocodezip 2013-05-01 23:24:13
請參閱帶有expires數據的簡化attachPolygonInfoWindow的新示例。 – geocodezip 2013-05-02 00:30:05