Страница 1 из 1

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

Добавлено: 11 июл 2015, 10:27
MI user
Здравствуйте.
Появился вопрос по связыванию таблиц.

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

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

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

Добавлено: 13 июл 2015, 17:00
parshin
Добрый день!

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

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

Но идея может быть примерно такой (документация по 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. Формируем из полученной информации текст баллуна и показываем его