2013-11-13 3 views
1

Я пытаюсь решить, хочу ли я использовать 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 похоже на путь.

ответ

Смежные вопросы