Клуб API Карт

Заголовок не указан

Пост в архиве.

Добрый вечер.

Требуется ваш совет!

У меня на карте есть возможность добавлять метки и полигоны, координаты сохраняются в бд. Мне нужно также сохранить на сервере данные о том, какие метки какому полигону принадлежат.

Алгоритм такой. С помощью $.ajax получаю от сервера все метки и полигоны что уже есть, в цикле добавляю их на карте.

А теперь допустим пользователь добавляет/перетаскивает метку. Вопрос: как узнать, в каком полигоне она оказалась?

Или: строится новый полигон, как узнать какие метки он охватывает?

 

Мне видится такое решение:

Во время циклического построения всех оверлеев а также при добавлении их на карту добавлять их также в предварительно созданный массив глобальной видимости. Затем, когда нужно, пробегать по нему.

Решение верное?

4 комментария

не совсем понятно что есть массив глобальной видимости.

Но вам нужно просто пробежаться по полигонам и спросить contains ли он некую точку + различные оптимизации по времени и набору точек что проверять надо

>не совсем понятно что есть массив глобальной видимости.

Ну такой массив, который будет виден из любой функции

>Но вам нужно просто пробежаться по полигонам

А как мне получить доступ ко всем полигона на карте?

 

я думаю что лучше их сохранять куда-то в себя самостоятельно.

чтобы мониторить например из создание или изменение

Спасибо, да, я тоже так думаю.

Просто я искал метод в api, который позволял бы в любой момент получить список оверлеев, которые уже добавлены на карту. Не нашел. Очень странно что его нету и в Диспетчере объектов, по идее это его функция.