Клуб API Карт

Пользовательские свойства (идентификаторы) геообъектов.

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

Собственно вопрос такой.

У меня в базе данных есть некоторые существующие сущности с Id - регионы. Я хочу их связать их с многоугольниками на карте. Можно ли как-то многоугольникам на карте задать какие-то пользовательские идентификаторы, которые я бы взял из базы, так чтобы каждый многоугольник ассоциировать с моих объектом из базы. При этом для этих целей не хочется использовать название многоугольника, так как оно должно остаться user-friendly.

8 комментариев

polygon.properties.set('id', myId);

у всех геообъектов есть .properties. Можете писать туда все что угодно, оно как раз для этого и создано.
http://api.yandex.ru/maps/doc/jsapi/2.x/ref/reference/IGeoObject.xml#properties

Спасибо за ответы. Со стороны программы теперь понятно что делать.

Но еще нужна возможность, чтобы пользователь при разметке полигонов как-то через интерфейс яндекс карт эти свойства устанавливал.

Решений из коробки нет. Можете например в балун выводить какую-то разметку, действия с которой быдут приводить к изменению полей в properties.

Получается нужно какой-то свой редактор делать? Мне-то хотелось, чтобы пользователь редактировал свою карту на map.yandex.ru, давал мне только ссылку на YmapML файл.

На map.yandex.ru пользоватьль может редактировать только "Мои карты", и ссылку на ymapsml он вам может дать, только я не понимаю как вы дальше хотите связывать это со своими данными?

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

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