Я пытаюсь решить, хочу ли я использовать json или kml для хранения полигонов в файле на сервере. Я должен прочитать в этом файле и проверить, в каком полигоне находится заданная точка. Меня привлекает KML, потому что может сделать весь файл KML в две строки с JavaScript API Карт Google:Точка внутри многоугольника - json или kml?
var importedKml = new google.maps.KmlLayer('mykml.kml');
importedKml.setMap(map);
Однако, я не могу найти встроенную функцию для проверки, если точка находится внутри всех многоугольники в файле kml. Я знаю, что я могу проверить, если точка находится в многоугольник, используя код ниже:
google.maps.geometry.poly.containsLocation(latlngPoint, polygon);
, но это выглядит, как будто я должен разобрать KML и включить все функции
<Placemark><Polygon>
сначала в объект google.maps.polygon.
Я думал о возвращении в JSON, так как объекты JSON очень настраиваемый, и я мог бы прямо назвать что-то вроде
//json object polygonFile from server
google.maps.geometry.poly.containsLocation(latlngPoint, polygonFile.polygons[0].polygon);
со структурой, я построил сам. Нет никакого быстрого и легкого способа рендеринга json на карту, не преобразовывая его сначала в объекты карт Google, а затем получая их, но он появляется.
Есть ли способ проверить, находится ли точка внутри многоугольника в файле kml без конвертировать каждую функцию в объекты карты Google сначала? Если нет, преобразование объекта json в объекты google maps похоже на путь.