Получите широту и долготу щелчка мышью в KML, построенном с использованием geoxml3
Есть ли способ получить событие щелчка правой кнопкой мыши на разобранном слое KML с помощью geoxml3 на карте Google. Я получаю событие щелчка правой кнопкой мыши на карте, т.е. во внешней области KML. Но я не могу получить событие click на проанализированном KML.
Я использовал как это
var geoXml = new geoXML3.parser({
map: map
});
geoXml.parse('file.kml');
2 ответа
geoxml3 анализирует KML для собственных объектов API Карт Google Javascript v3. Чтобы добавить к ним события правого клика, вам нужно либо добавить пользовательские функции createMarker, createPolyline, createPolygon, которые добавляют слушателей правого щелчка при создании объектов, либо обработать результаты и добавить слушателей в вывод.
Следующее было полезно и получило широту и долготу при щелчке правой кнопкой мыши на слое KML на карте Google.
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()
};
}
);
}