2014-06-11 25 views
0

我正在将KML加载到我的谷歌地图中。有了这个与标记功能正常的KML将点击事件添加到已加载的KML的标记中

function initialize() { 
    var mapOptions = { 
     center: new google.maps.LatLng(12.136389, -86.251389), 
     zoom: 11 
    }; 
    var map = new google.maps.Map(document.getElementById("map_canvas"), 
     mapOptions); 

    var ctaLayer = new google.maps.KmlLayer({ 
     url: 'http://mobilenicode-001-site1.smarterasp.net/Content/Prueba.css' 
    }); 
    ctaLayer.setMap(map); 
} 

地图加载的问题是,我试图添加一个“的addListener”事件到来自KML标记。 我该如何做到这一点?

回答

0

你不能。 Google呈现KML服务器端,并将其与他们的给定行为和元素作为一个整体叠加在您的地图中。虽然确实可以为KML图层设置一些选项,但您无法在其中指定特定元素。

根据您的后端,如果您有后端,您可以解析KML文件。 (标记应该出现在<PlaceMark>标记内,但你的里程可能会有所不同)并自己绘制标记。

0

添加点击监听器按KmlLayer(如documentation描述):

var ctaLayer = new google.maps.KmlLayer({ 
    url: 'http://mobilenicode-001-site1.smarterasp.net/Content/Prueba.css' 
}); 
ctaLayer.setMap(map); 
google.maps.event.addListener(ctaLayer,'click',function(evt) { 
    alert("marker clicked"); 
}); 

working fiddle

注意,只有鼠标事件KmlLayers支持是 “点击” 事件。

相关问题