作者:皇家让梦起飞jie | 来源:互联网 | 2023-05-23 15:51
我正在开发一个Intranet项目,因此我的KML文件无法在外部使用.这意味着我依赖geoXML3库将我的XML解析到我的Google地图上.然而,缺乏关于事件监听器的文档令人沮丧.我想调用一个点击监听器并传入geoXML3地标.我正在尝试执行以下操作,但是clickListener
总是接收在afterParse
循环中处理的最后一个多边形p
.
kml = new geoXML3.parser({
suppressInfoWindows: true,
map: map,
afterParse: function (doc) {
for (var i = 0; i
如果我使用Google Maps API的KML支持,我可以执行此操作并将多边形传递给侦听器.
kml = new google.maps.KmlLayer(mapSettings.kmlLocation, {
suppressInfoWindows: true,
preserveViewport: false,
map: map
});
google.maps.event.addListener(
kml,
"click",
clickListener
};
是否有任何方法(更可取)将正确的geoXML3地标可靠地传递给clickListener
,或者(不太可取)geoXML3.parser
我可以将点击事件绑定到并接收kmlMouseEvent
我使用Google Maps API kml解析器的方式?最终我需要能够改变多边形的样式并跟踪它在数组中的选择/取消选择.
1> geocodezip..:
使用函数闭包将地标与事件侦听器相关联.一种方法(你也可以使用匿名函数):
kml = new geoXML3.parser({
suppressInfoWindows: true,
map: map,
afterParse: function (doc) {
for (var i = 0; i