我正在使用Google Maps KML图层点击事件。
我正在使用此代码:
function initialize() {
var mapOptions = {
center: new google.maps.LatLng(41.875696, -87.624207),
zoom: 11,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
var map = new google.maps.Map(document.getElementById("map_canvas"), mapOptions);
var ctaLayer = new google.maps.KmlLayer('https://sites.google.com/site/anoopkml123/kml/ab9Plan0520.kmz');
ctaLayer.setMap(map);
google.maps.event.addListener(ctaLayer, 'click', function(kmlEvent) {
alert(kmlEvent.featureData.name);
});
}
有时候alert(kmlEvent.featureData.name)
会显示一个数字,但有时会显示“未定义”。
有时obj.featuredData.id
为空(ZERO_RESULTS状态位于状态字段中)。
答案 0 :(得分:1)
在小提琴中重新创建代码:http://jsfiddle.net/mdares/TAfys/
我无法复制你所遇到的问题。如果上面的链接失败了,你能提供一个例子吗?这可能是浏览器特有的吗?最后 - 是否有任何其他未发布的代码可能是原因?我发布的代码与你的代码没有任何不同,但我很好奇你是否还在做其他事情:
function initialize() {
var mapOptions = {
center: new google.maps.LatLng(41.875696, -87.624207),
zoom: 11,
mapTypeId: google.maps.MapTypeId.ROADMAP
}
var map = new google.maps.Map(document.getElementById("map_canvas"), mapOptions);
var ctaLayer = new google.maps.KmlLayer('https://sites.google.com/site/anoopkml123/kml/ab9Plan0520.kmz');
ctaLayer.setMap(map);
google.maps.event.addListener(ctaLayer, 'click', function (kmlEvent) {
alert(kmlEvent.featureData.name);
});
}