我有一个带有从.kml文件加载的标记的地图,我正在使用geoxml3来解析它,并使用markerclusterer来聚类它们。我添加了一些代码,尝试在用户点击标记时将kml文件中的每个标记上的和标记放在infoWindow上。但是出于某种原因,当我点击标记时,它不会创建infoWindow。我之前添加了一个console.log以确保它识别出了点击,而且它似乎并不想让它产生信息。
您可以在以下位置查看该页面 http://tanagerproductions.com/test/site2/testmap.html
.kml文件位于 http://tanagerproductions.com/test/site2/js/locations.kml
答案 0 :(得分:1)
看起来您正在使用geoxml3的主干版本。这不再支持了。如果您使用多边形或kmz分支,则它们都受支持。
Here是使用多线分支的页面版本。
这是更新后的createMarker函数:
createMarker:function(placemark){
var point = placemark.latlng;
var info = "<pre" + placemark.name + "<br /><br />" + placemark.description + "</pre>";
var marker = new google.maps.Marker({position:point});
google.maps.event.addListener(marker, "click", function(){
infoWindow.setContent(info);
infoWindow.open(map, marker);
});
markerclusterer.addMarker(marker);
}
您可能只需要infoWindow.content = info; =&GT; infoWindow.setContent(INFO);变化
(历史记录,github上不存在“trunk”版本,因此下面的链接不再起作用)
Working version using the trunk geoxml3 version,因此唯一的问题是API不再支持infoWindow.content。