Содержит ли многоугольник, загруженный из KML, заданную широту / долготу в Google Maps API - PullRequest
0 голосов
/ 06 мая 2020

У меня есть файл KML, содержащий многоугольник. Я хочу написать простое приложение, которое будет давать истинный / ложный результат относительно того, находится ли широта / долгота внутри этого многоугольника.

По какой-то причине это кажется более трудным, чем кажется, поскольку google.maps.KmlLayer, похоже, очень ограничен предлагаемыми функциями.

Я знаю, что карта, отличная от KML, имеет функцию containsLocation (), которая делает именно то, что мне нужно, однако KML слой не содержит такой функции

1 Ответ

0 голосов
/ 06 мая 2020

Я не совсем уверен, как вы используете файл KML, однако я бы предложил следующий подход:

  1. Анализируйте файл KML (многие библиотеки доступны для многих языков)
  2. Используйте проанализированные данные KML для визуализации вашего многоугольника с помощью API Карт Google (т. Е. Реконструируйте многоугольник KML на Картах Google с помощью методов Карт Google)
  3. Используйте метод API Карт Google containslocation(), чтобы проверить, не совпадает ли ордината находится внутри многоугольника

API Карт Google имеет большой набор функций, поэтому, сделав это, вы можете включить некоторые из их методов, т.е. вы нажимаете на карту, и программа сообщает вам, в какой точке вы находитесь. находится внутри многоугольника или нет. Взгляните на это , я подозреваю, что это то, что вы хотите сделать sh (или, по крайней мере, похожее на него).

Изменить: Посредством синтаксического анализа I означает декодировать KML

...