2012-04-03 151 views
1

我不能當我選擇一個多邊形打開信息窗口。這是我的代碼:調用信息窗口瓦特/谷歌地圖API V3

// Create Polygon 
var polyline = new google.maps.Polygon({path:path, strokeColor: "#FF0000", strokeOpacity: 1.0, strokeWeight: 2, clickable:false}); 

// Place Polygon on Map 
polyline.setMap(map); 
map.setCenter(new google.maps.LatLng(35.910200,-84.085100)); 

// Create InfoWindow object 
var infowindow = new google.maps.InfoWindow({ 
content: ' ', 
suppressMapPan:true 
}); 

// Create Click Event for Polygon 
eventPolygonClick = google.maps.event.addListener(polyline, 'click', function() { 

    // Load Content 
    infowindow.setContent("CLICKED me"); 
    // Open Window 
    infowindow.open(map, polyline); 

}); 

我想也將多邊形及其各自的內容作爲變量傳遞給eventPolygonClick。這可能嗎?

回答

3

試試這個,使用來自click事件接收到的經緯度信息,以創建一個標記,並用它作爲infowindow.open調用的第二個參數。

eventPolygonClick = google.maps.event.addListener(polyline, 'click', function(event) { 
    var marker = new google.maps.Marker({ 
     position: event.latLng 
    }); 

    infowindow.setContent("CLICKED me"); 
    infowindow.open(map, marker); 

}); 
+0

這是正確的答案。回覆:Heitor的答案:一個Click事件可以綁定到折線和事件傳遞將是一個點沿折線地方。無需添加隱藏標記。您也可以使用折線的內容,但我不確定這意味着什麼。 – 2012-04-04 02:22:51

+0

謝謝@javram。我還沒有成功。你可以在http://cspc.net/neighborhoods/neighborhoods2.html瀏覽我的代碼。我已經按照上面的說明實施了..但是當我點擊時沒有任何反應,也沒有發佈錯誤。 – mcmonty 2012-04-18 14:14:47

+0

看起來您將多段線設置爲可點擊:false。嘗試從多段線選項中完全刪除可點擊的屬性,你應該很好的去追求。 – javram 2012-04-18 16:13:45

0

據我曾嘗試,多邊形不能被用作一個信息窗口的錨。嘗試在多邊形內部或邊緣的某處添加標記,setVisible(false),然後infowindow.open(地圖,標記)

當你說通過多邊形時,我不太清楚。我相信你可以自由地使用你的變量'折線',至於通過函數(事件)傳遞,可能不會。你有沒有嘗試過任一選項?