Вывести в балун текст из другой таблицы

Mapserver, GeoServer, MapGuide, Google и другое ПО для веб-картографии
Ответить
Аватара пользователя
MI user
Участник
Сообщения: 63
Зарегистрирован: 14 янв 2013, 17:08
Репутация: 33
Откуда: Оренбург

Вывести в балун текст из другой таблицы

Сообщение MI user » 11 июл 2015, 10:27

Здравствуйте.
Появился вопрос по связыванию таблиц.

В БД имеется две таблицы:
  1. Таблица "Выделы" с двумя полями: поле "Лесничество_Id" типа Integer и поле с геометрией. Таблица представлена слоем на карте.
  2. Таблица "Лесничества" с двумя полями: "Id" типа Integer и "Название" типа String. Таблица не содержит геометрию.
Каждый выдел из таблицы №1 относится к какому-либо лесничеству из таблицы №2.

Требуется:
  1. Указать связь между таблицами по полю Выделы.Лесничество_Id -> Лесничества.Id.
  2. В балуне на карте для объектов таблицы "Выделы" выводить не числовое значение лесничества из поля Id, а подставлять текстовое значение названия лесничества из второй таблицы.
Вопрос: каким способом на базе GeoMixer 2.0 можно это реализовать?
Если только при помощи плагина - пожалуйста дайте ссылку на подобный пример.
Спасибо.

parshin
Участник
Сообщения: 57
Зарегистрирован: 13 фев 2011, 10:34
Репутация: 26
Откуда: Moscow, Russia
Контактная информация:

Re: Вывести в балун текст из другой таблицы

Сообщение parshin » 13 июл 2015, 17:00

Добрый день!

К сожалению, в ГеоМиксере нет встроенной возможности работать со связанными таблицами.

Если у вас нет возможности объединить эти таблицы до загрузки их в ГеоМиксер, то можно попробовать написать плагин для показа таких балунов. Ссылку на пример дать не могу, так как подобных примеров у нас нет :)

Но идея может быть примерно такой (документация по JS API: http://docs.geomixer.ru/docs/api_reference/)
  1. При помощи метода слоя enableHoverBalloon() устанавливаем обработчик содержимого баллуна
  2. Из аргумента target получает атрибуты объекта, в том числе "Лесничество_Id"
  3. Делаем запрос на сервер за названием объекта в таблице "Лесничества". Это может быть REST запрос, если есть соответствующий слой на нашем сервере (документация на REST API: http://docs.geomixer.ru/docs/rest-api/) или какой-нибудь другой способ
  4. Формируем из полученной информации текст баллуна и показываем его

Ответить

Вернуться в «Веб-картография»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 7 гостей