当我选择一个多边形时,我无法打开infoWindow。下面是我的代码:
// 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。这个是可能的吗?
发布于 2012-04-04 01:46:33
尝试一下,使用从单击事件接收到的latlng创建一个标记,并将其用作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);
});发布于 2012-04-04 01:45:25
据我所知,多边形不能用作InfoWindow的锚点。尝试在多边形内部或边缘的某个位置添加标记,setVisible(false),然后添加infowindow.open(地图,标记)
当你说传递多边形的时候,我不太明白。我相信你可以自由地使用你的变量'polyline‘,至于用function(event)传递它,可能不行。你有没有试过这两个选项?
https://stackoverflow.com/questions/9998003
复制相似问题