Функция геозоны - размещение точек на карте, многоугольник, определение точки внутри многоугольника

У меня есть два вопроса относительно многоугольника в открытых слоях.

1)Как разместить некоторый массив точек на карте ОС?

2) Предположим, мы хотим нарисовать многоугольник. Как мы могли узнать, находятся ли точки внутри многоугольника или нет. Короче говоря, если мы рисуем многоугольник, мы получаем границы: как мы можем определить, находятся ли точки внутри многоугольника или нет?

Буду признателен за любую помощь, так как я новичок.


person Mindtek    schedule 03.09.2015    source источник


Ответы (1)


Добро пожаловать в сообщество OpenLayers!

1) Посмотрите этот пример, чтобы узнать, как добавить точки на карту: http://openlayers.org/en/v3.8.2/examples/icon.html. Я настоятельно рекомендую вам также прочитать учебник по концепциям: http://openlayers.org/en/v3.8.2/doc/tutorials/concepts.html

2) Полигональный объект имеет метод intersectsExtent, который можно использовать, чтобы увидеть, пересекается ли экстент с экстентом. После того, как вы нарисовали многоугольник, вы можете зациклить массив точек и собрать каждую точку, экстент которой пересекается с многоугольником. См. документацию: http://openlayers.org/en/v3.8.2/doc/tutorials/concepts.html

Я бы разделил точки и полигоны на 2 слоя, чтобы они были разделены и было легче зацикливать точечные объекты.

person Alexandre Dubé    schedule 03.09.2015
comment
Можете ли вы помочь мне добавить в эту скрипку jsfiddle.net/Sanju5390/jrtw6q59 относительно размещения массива точек на карте ОС и выборке/предупреждении/консоли, когда мы нажимаем внешнюю кнопку выборки, находятся ли эти точки внутри многоугольника или нет. Будем признательны за любую помощь. - person Mindtek; 03.09.2015
comment
Здесь: jsfiddle.net/jrtw6q59/1 Я не уверен, чего вы пытаетесь достичь. в конце концов, но это должно помочь вам понять, что можно сделать. - person Alexandre Dubé; 03.09.2015
comment
Я не нахожу изменений в вашей последней скрипке с jsfiddle.net/Sanju5390/jrtw6q59. Все то же самое. - person Mindtek; 04.09.2015
comment
@ Александр Дюбе Спасибо. - person Mindtek; 08.09.2015