我向您解释我的问题,我必须在地图中显示一些多边形,并且当我单击其中一个的窗口信息中存在的链接时,我必须能够调用 javascript 方法。
当我直接使用 google api 时没问题,你会在下面找到结果和代码:
http://jsfiddle.net/9fzy3/embedded/result/
var contentString = "You can add thi zone : <a href=\"#\" onclick=\"alert('Your zone has been added !')\">add</a>";
var infowindow = new google.maps.InfoWindow({
content: contentString
});
function initializeGoogleMaps() {
var polygonCenter = new google.maps.LatLng( -74.43013763427734,45.95257568359375),
placeholder = document.getElementById("print_map"),
mapOptions = {
center: polygonCenter,
mapTypeControl:false,
mapTypeId: google.maps.MapTypeId.ROADMAP
},
map = new google.maps.Map( placeholder, mapOptions ),
kmlLayer = new google.maps.KmlLayer({
url: "http://xxxxxxx/910413303.kml"
});
google.maps.event.addListener(kmlLayer, 'click', function(evt) {
infowindow.setPosition(evt.latLng)
infowindow.open(map);
});
kmlLayer.setMap(map);
}
但我想知道,是否有可能仅在使用 kml 文件时具有相同的行为。
对我来说,我认为这是不可能的,但我想听听你的意见。因为我被迫只使用一个 kml 文件。
我认为解决我的问题的更好解决方案可能是使用 geoxml3 api 解析 kml 文件,然后直接使用 api 解析的元素。
提前感谢您的建议。