0

有没有办法在谷歌地图上使用geoxml3在解析的KML图层上获得右键单击事件。我正在获得地图的右键单击事件,即KML的外部区域。但我无法在解析的 KML 上获得点击事件。

我这样用过

 var geoXml = new geoXML3.parser({
                        map: map           
                    });

    geoXml.parse('file.kml');
4

2 回答 2

1

geoxml3将 KML 解析为原生 Google Maps Javascript API v3 对象。要向它们添加右键单击事件,您需要添加自定义 createMarker、createPolyline、createPolygon 函数,这些函数在创建对象时添加右键单击侦听器,或者处理结果并将侦听器添加到输出。

于 2017-01-25T06:46:52.390 回答
0

以下内容很有帮助,并在谷歌地图中右键单击 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()
                };
            }
            );
        }
于 2017-01-25T10:22:04.387 回答