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

Внешняя функция слоя

Поиск  Пользователи  Правила  Войти
Форум » Серверные приложения » GIS WebServer
Страницы: 1
RSS
Внешняя функция слоя
 
Пишу функцию, которая при клике на объект выводит с БД информацию. Есть проблемы с подключением внешней функции слоя (скрин 1, 2). Не отрабатывает.
Если же в скрипте запускать анонимную функцию после полной загрузки документа(скрин 3,4),  все работает.
Подскажите, пожалуйста, в чем проблема.
скрин 1
скрин 2
скрин 3
скрин 4
Изменено: Валерий Стасюк - 04.07.2017 20:12:59
 
Нашел таки решение. Функцию нужно объявлять в объекте, и прописать в админке например – myFunc.infoObject.
Скрины прикрепляю:
админка
функция
Изменено: Валерий Стасюк - 04.07.2017 20:58:02
 
Для надежного срабатывания функции, указанная в поле "Внешняя функция" она должна быть определена перед блоком <script type="text/javascript"> ... </script> в файле index.php.
Например, можно добавить функцию в блок перед указанным блоком:

<link href="gwsse.css" rel="stylesheet" />
<script type="text/javascript">
  // внешняя функция
</script>
<script type="text/javascript"> ... </script>

или добавить во внешний файл, например gwsse.js.
 
Выложил на сайте подготовленный Валерием пример создания внешней функции GIS WebServer SE 3.3.
Функция по клику на объекте карты  выводит в информационную панель фотографию и справку об объекте карты из базы PostgreSQL.

Пример простой, как раз для тех, кто первый раз взялся за программирование под GIS WebServer SE.

Смотреть по ссылке:  http://panorama.kharkov.ua/lessons/rlessons.htm?page=web01
Изменено: Олег Касьянов - 10.08.2017 17:46:46
 
Скачал пример, подключил к своим проектам. Есть пожелания, на будущее:
1. Учитывать, что при работе с БД чаще всего есть такой параметр, как "password" - сначала не смог запустить у себя пример, потом разобрался, добавил, запустил;
2. Параметр linkSheet - в идеологии "панорама" - это название карты, из Паспорта. Тем более, Вы ссылаетесь в описании примера на работу "модуля БД" из настольных приложений, где linkSheet в БД как раз и заполняется из Паспорта карты.
А Вы не правильно используете его в данном примере. Ваш 'layer' <> 'linkSheet', у Вас layer - это название (ID) слоя, который прописан в GIS WebService SE. Да, он в частном случае может быть такой же, как и linkSheet.
3. Думаю, более правильно будет размещать свои коды/картинки не в корне приложения, а в отдельной папке. У Вас же сейчас все должно быть размещено в корне приложения. Внеся правку в код, сами коды перенес в отдельный каталог, а вот папку img пока не смог перенести из корневого каталога - src=".$row['img']. Такая возможность есть?
4. Также, пока не совсем "презентабельно" вызывается форма - она перекрывает кнопки. В файле стилей можно добавить доп. параметры смещения - left/top/...
В общем, начало хорошее! Думаю, в дальнейшем примеры будут усложняться;)  
 
Цитата
Vitaliy Belenkov написал:
Скачал пример, подключил к своим проектам. Есть пожелания, на будущее:
1. Учитывать, что при работе с БД чаще всего есть такой параметр, как "password" - сначала не смог запустить у себя пример, потом разобрался, добавил, запустил;
2. Параметр linkSheet - в идеологии "панорама" - это название карты, из Паспорта. Тем более, Вы ссылаетесь в описании примера на работу "модуля БД" из настольных приложений, где linkSheet в БД как раз и заполняется из Паспорта карты.
А Вы не правильно используете его в данном примере. Ваш 'layer' <> 'linkSheet', у Вас layer - это название (ID) слоя, который прописан в GIS WebService SE. Да, он в частном случае может быть такой же, как и linkSheet.
3. Думаю, более правильно будет размещать свои коды/картинки не в корне приложения, а в отдельной папке. У Вас же сейчас все должно быть размещено в корне приложения. Внеся правку в код, сами коды перенес в отдельный каталог, а вот папку img пока не смог перенести из корневого каталога - src=".$row['img']. Такая возможность есть?
4. Также, пока не совсем "презентабельно" вызывается форма - она перекрывает кнопки. В файле стилей можно добавить доп. параметры смещения - left/top/...
В общем, начало хорошее! Думаю, в дальнейшем примеры будут усложняться;)  
Спасибо, пожелания учту. В базе данных можно поменять путь к картинке, в данном примере значение $row['img' ] = " img/name.jpg".
 
Цитата
Валерий Стасюк написал:
В базе данных можно поменять путь к картинке
Валерий, хотелось бы не в БД, а в файлах настройки (на будущее - все настройки нужно выносить в отдельные файлы типа xml/json), в крайнем случае, в кодах.
Да, и прошу учесть, что само приложение "многоязычное" - т.е. нужно выносить в "локали" текстовые переменные/сообщения и др.
Спасибо.
 
Добрый вечер, возник следующий вопрос. Внешняя функция слоя в администраторе сервера: test.additionalInfo
gisWebServer 3.2.1
var test = {
   additionalInfo: function(){
       console.log('test')
    }  
}
Функция добавлена, но в консоле ничего не выводит. В чем особенность такого поведения? Возможно я что-то упустил в механизме обработки внешней функции слоя?
Изменено: Валерий Стасюк - 30.08.2017 19:36:52
 
Дошло, в панели объектов появляется кнопка, которая вызывает функцию
Страницы: 1
Читают тему (гостей: 1)



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

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