На главную... Продукты | Технологии | Классификаторы | Проекты | Скачать | Цены| Форум | Статьи | Обучение | Контакты

Вызов queryDataList для интеграции с клиентским ПО

Поиск  Пользователи  Правила  Войти
Форум » Серверные приложения » GIS WebServer
Страницы: 1 2 След.
RSS
Вызов queryDataList для интеграции с клиентским ПО
 
Добрый день,

В документации giswebserveradmin1.pdf в разделе 5.6. указана возможность интеграции iframe в котором отображается карта с кодом окружающей страницы путем вызова queryDataList.
Попытка внести какие-либо изменения в queryDataList показала, что функция не вызывается совсем.

Подскажите как мне, использую эту функцию (или другую) получить следующую информацию о выбранном (click) объекте на карте: имя проекта, номер листа, номер объекта в листе?
 
Раздел 5.6 - "Для взаимодействия карты с программным обеспечением внешнего сайта в GIS WebServer используется команда “Информация по списку объектов карты из базы данных” - кнопка в панели команд карты. Команда формирует XML-данные для таблиц БД. Данные содержат выборку значений связанных полей таблиц БД, сформированную по выделенным объектам карты (по списку объектов). Данные XML передаются в функцию клиентского сценария queryDataList...". Карта должна иметь связь с таблицей БД. Значения полей связи для выделенных в карте объектов передаются клиенту при нажатии кнопки “Информация по списку объектов карты из базы данных”.
Для выбранного кликом объекта в скриптах используется функция mapview.js/mapShowObjectSummary() - имя листа, имя объекта, уникальный номер объекта, значения характеристик, значения указанных полей из таблицы БД.
Cookie-набор пользователя содержит текущую информацию о карте: id темы, id набора карт, уникальный номер и имя листа карты выделенного объекта и другие данные.
Номер листа карты, номер объекта в листе в клиентской части не используются.
 
Ольга, спасибо за ответ.

Есть несколько уточнений:
1. У меня карта привязана к БД.
2. При выделении области и нажатии на кнопку "Информация о выбранном объекте карты из базы данных" в панели справа у меня отображается: "найдено 2 объекта" и перечислены их параметры в таблице.
3. В mapview.js функция queryDataList имеет следующий вид:

function queryDataList(result, context)
{
[COLOR=#BB0033] alert("hello");[/COLOR]

  if (result == null || result.length == 0)
       return;
   var param = result.split('alert'); // сообщение об ошибке
   if (param.length == 2)
   {
      alert(param[1]);
      return;
   }
   alert(param[0]);
   // имя клиентской функции-обработчика списка данных
   //tooltipClick2(param[0]);
}
однако вызова этой функции не происходит. Где я ошибся?

4. В передаваемых параметрах к функции mapShowObjectSummary передается аргумент data. В котором есть информация только об общих характеристика: площадь, вид объекта, семантиках, однако ни имени листа, ни идентификатора объекта нет. Подскажите, как получить указанные выше параметры в функции mapShowObjectSummary?
 
Сергей Константинович, после выделения объекта, например по записи таблицы БД, надо нажимать кнопку  “Информация по списку объектов карты из базы данных”.
(На рисунке кнопки есть текст "XML").
В Param.xml/ToolBarCommands необходимо включить отображение кнопки, команда cmMapObjectListData="true". В разметке MapPanel.ascx в элементе <asp:ImageButton ID="btObjDataList"... /> надо убрать Style="display: none".
 Проверила, действительно в функцию mapShowObjectSummary имя листа и идентификатор объекта не передается. Если Вы имеете лицензию, мы можем добавить эти данные в новой версии.
 
Ольга, спасибо. Ваш совет помог.

У нас есть лицензия на использование ГИС Webserver и GISToolkit. Подробности можете получить у Кириченко Сергея.

Сейчас мы активно занимаемся вопросом интеграции ГИС Панорама в свои продукты. Думаю в ближайшее время возникнут еще пожелания к возможностям ГИС. Подскажите, как часто вы выпускаете новые версии?
 
Цитата
Сергей Константинович пишет:
Подскажите, как часто вы выпускаете новые версии?
- как пример - http://gisinfo.ru/support/giswebserver.htm
Сейчас ждем (с нетерпением :oops: ) выхода 8-й версии...
 
Подскажите. Может где-то уже описан такой кейс:

1. Карта встроена в iframe страницы
2. На странице есть список объектов поля objectId, sheetName и т.д.
3. пользователь выбирает объект из списка и кликает в карту. Таким образом "привзяывает" свои объекты с объектами карты
4. рядом с объектом формруется ссылка, при нажатии на которую во врейме открывается гео-объект.

Возможно такая "привязка" решается как-то по другому, подскажите как сделать пп.1-4 или другим способом.

Цель: чтобы внешняя система смогла ссылаться на гео-объекты.

P.S. Еще было бы лушче, если бы ГИС Панорама умела показывать объекты не только по идентификаторам объектов или по координатам, но и по семантике, например, код КЛАДР или адрес (три поля: город, улица, дом). Как вы или ваши партнеры обычно решают эту задачу?
 
Версии GIS WebServer выходят регулярно, примерно через неделю выйдет версия 8.
Возможность связи объектов карты с таблицей БД по семантике реализована и используется в ГИС Карте и в GIS WebServer.
Если значение (уникальное) некоторого поля записи таблицы, к примеру id, использовать в качестве значения определенной семантики объекта карты, то мы получим связь таблицы с объектом карты по семантике объекта.
 Также в GIS WebServer возможно выводить всплывающие подсказки для объектов карты из семантики или из таблицы БД. Правда, только для точек.
Для взаимодействия в внешним сайтом предназначена функция queryDataList, о которой мы говорили ранее.
В нее может передаваться список данных в зависимости от вида связи карты с таблицей:  LinkSheet,LinkObject или значения семантики выделенных объектов.
 
Ольга, добрый день!

Спасибо за ответ.

Поясните пожалуйста еще один важный для меня вопрос. Согласно документации имеется два способа связывания объектов БД с объектами карты: "по листу и номеру объекта в листе" и "по семантике".

Сейчас я связал объекты по листу и номеру объекта на листе. При чем объекты карты я создал тестовые используя Карта 2011 мини.
Я раньше не работал с ГИС продуктами и весьма смутно представляю каким именно удобным образом создаются объекты и задаются значения различных семантик (в частности привязка к внешним по отношению к карте справочникам).

Поясню на примере:
Имеется физический дом, у дома есть адрес, количество этажей, управляющая компания и куча других не гео-характеристик. Предположим у меня таких домов много и моя работа, как некого оператора состоит в том, чтобы через какой-то инструмент обозначать объекты на карте (с точными координатами), задавать этому объекту семантики:
- количество этажей [число]
- управляющая компания [строка]
- адрес [строка]

способ 1 (все в семантике)
Все ввожу используя форму создания объекта. По большому счета, мне, как специалисту заполняющему информацию по объектам на карте, без разницы что будет записано в полях "управляющая компания", я могу ввести "ТСЖ Чистюля", а могу "Чистюля, ТСЖ" или "Товарищество СЖ ЧиСТЮля". То же самое касается адреса. Однако такая возможность в вариативности значений для одного и того же ТСЖ способ ввода информации блокирует какую либо последующую обработку этих объектов так как названия не нормализованы.

способ 2, (семантика + ссылки на справочники)
Более адекватный способ ввода такой информации предполагает, что оператор не вводит наименование управляющей компании, а выбирает её из списка, то же самое касается адреса так что в семантике объекта сохраняется не строка, а идентификатор записи справочника. Информация об УК или адресе может (и скорее всего) используется в других информационных системах в состав которых интегрируется ГИС.

способ 3, (минимум семантики + характеристики в БД)
Еще один способ, это на карте отображать только картографическую информацию, а все характеристики (семантики) хранить в БД и связывать объекты карты с объектами БД. В таком случае оператор потребуется отобразить дом на карте, и далее "привязать" его к объекту БД, например, выбрав его из списка или указав явно руками ИД объекта в БД. Это крайний вариарт способа №2, в котором ни какая не гео-информация не хранится в семантике объекта. Она полностью вынесена в БД.

У меня здесь вопросы:
1. Как обычно решается задача ведения объектов, когда большая часть семантики размещена в БД и к создаваемому объекту нужно "прицепить" объект БД?
2. Имеется ли возможность создавать объекты в ГИС Карта 2011, так чтобы значения семантик можно было подгружались из справочники располагающихся БД?
3. Имеется ли в ГИС Панорама возможность отобразить объекты, задав только характеристики которые хранятся в БД? Например, как делает яндекс.карты: в строке вписываем адрес, и он отображается дом. Можно ли используя текущее API сделать это в ГИС Панорма?
4. В документации giswebserveradmin1.pdf в п.5.1.1 имеется описание следующих параметров запроса seekname и seekvalue они к чему относятся к семантикам объекта или колонкам таблицы (table)?
4.1. Что делать, если поиск нужно сделать с несколькими параметрами, например, по имени, по цвету, по размеру, как задать несколько пар seekname/seekvalue?


P.S. В 8-й версии ГИС уберите ограничение получать "Информация по списку объектов карты из базы данных" только по группе объектов. Пусть будет возможно выбрать один объект и поучить по нему информацию из БД.
 
Добрый день!
1. Надо установить связь объектов карты с записями таблицы БД, по семантике или по объекту. Это имеющиеся два способа организации логической связи. Раздел 5.4.3 документации giswebserveradmin1.pdf - подробное описание. При связывании по семантике в указанную семантику объекта записывается уникальное значение поля записи таблицы, например значение
поля "id" записи заносится в семантику с кодом "32853".  
2. В ГИС Карта имеется задача "База данных", где можно подключать внешние базы данных. Можно связывать объекты карты с объектами базы данных, можно использовать справочники.
3. Можно выполнять различные виды поиска и выделения объектов по записям БД, как через интерфейс задачи "База данных", так и через Web-интерфейс GIS WebServer.
  Есть набор API-функций для поиска объектов карты по различным критериям.
4. Параметр "seekname" - номер или ключ семантики (характеристики) по классификатору карты, относится к семантике объекта карты. "seekvalue" - список искомых значений этой характеристики (через запятую).
4.1 У нас в планах расширить поиск по нескольким парам параметров "seekname"/"seekvalue" через http-запросы.
Страницы: 1 2 След.
Читают тему (гостей: 1)



© КБ Панорама, 1991-2024

Регистрируясь или авторизуясь на форуме, Вы соглашаетесь с Политикой конфиденциальности