2013-05-01 51 views
0

我在我的輪子上發言,我不知道如何對此進行排序。我一直在掙扎幾天,它不像一個正常的信息框,因爲它不是一個標記,而是一個多邊形,這對我來說是一種新的東西。我有多邊形顯示來自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

回答

0

您提供4個參數定義了attachPolygonInfoWindow功能,但只提供一個,當你把它叫做:

// definition 
function attachPolygonInfoWindow(polygon, html, event, expires) 
... 

// call 
attachPolygonInfoWindow(eventWarnings); 

也許你想(我沒有看到HTML或過期的參數是使用):

attachPolygonInfoWindow(eventWarnings, "", event, null); 

另一種選擇是改變了定義:

// definition 
function attachPolygonInfoWindow(polygon, event, expires) 

和調用(假設你要使用「過期」的東西):

attachPolygonInfoWindow(eventWarnings, event, expires); 

因爲它並不像你需要在參數來傳遞(事件服務功能我期望它能夠服務)。

此外,僅供參考,你有你的alertColors.js一個 「懸逗號」,這讓IE不高興......

example

+0

謝謝!是的,我在函數中提供了4個參數,但是當我嘗試向呼叫中添加多個參數時,無法顯示多邊形。所以爲了得到一個例子,我把它設置成這樣。我之前唯一不同的是我錯過了我所知道的那個小事。您的示例現在顯示了事件標題,但是當我嘗試添加過期並且未加載時。我有var html =「」+ event +「」;格式化樣式,但是當我將它添加到調用時,它會殺死地圖。我是否需要爲過期設置一個var來獲取名稱的元素標記? – Texan78 2013-05-01 21:44:09

+0

您不需要創建一個變量來從XML中獲取該變量的值,它只會與其餘的代碼保持一致。你認爲「過期」的價值來自哪裏?另外,如果您沒有將任何內容傳遞給html參數中的'attachPolygonInfoWindow'函數,則可以將其刪除(而不是傳入佔位符...) – geocodezip 2013-05-01 23:24:13

+0

請參閱帶有expires數據的簡化attachPolygonInfoWindow的新示例。 – geocodezip 2013-05-02 00:30:05

相關問題