有没有办法在谷歌地图上使用geoxml3在解析的KML图层上获得右键单击事件。我正在获得地图的右键单击事件,即KML的外部区域。但我无法在解析的 KML 上获得点击事件。
我这样用过
var geoXml = new geoXML3.parser({
map: map
});
geoXml.parse('file.kml');
有没有办法在谷歌地图上使用geoxml3在解析的KML图层上获得右键单击事件。我正在获得地图的右键单击事件,即KML的外部区域。但我无法在解析的 KML 上获得点击事件。
我这样用过
var geoXml = new geoXML3.parser({
map: map
});
geoXml.parse('file.kml');
geoxml3将 KML 解析为原生 Google Maps Javascript API v3 对象。要向它们添加右键单击事件,您需要添加自定义 createMarker、createPolyline、createPolygon 函数,这些函数在创建对象时添加右键单击侦听器,或者处理结果并将侦听器添加到输出。
以下内容很有帮助,并在谷歌地图中右键单击 KML 图层时获得了纬度和经度
var geoXml = new geoXML3.parser({
map: map,
afterParse: function (doc) {
for (var i = 0; i < doc[0].placemarks.length; i++) {
var p = doc[0].placemarks[i];
clickablePolygon(p);
}
}
});
geoXml.parse(parameter.FileName);
function clickablePolygon(p) {
google.maps.event.addListener(
p.polygon,
"rightclick",
function (event) {
var clickedLocation = event.latLng;
var latlng = {
lat: clickedLocation.lat(),
lng: clickedLocation.lng(),
zlevel: map.getZoom()
};
}
);
}