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

Пара вопросов по mapapi

Поиск  Пользователи  Правила  Войти
Форум » Настольные приложения » GIS ToolKit, GIS ToolKit Active, ГИС Конструктор для Windows
Страницы: Пред. 1 2 3 4 5 След.
RSS
Пара вопросов по mapapi
 
Цитата
Oleg Belenkov написал:
mapCommitObject нельзя убирать.

Это уже понял. Без этого вызова не работает даже локально. Что следует тогда изменить в примере для того, чтобы обновлял через ГИС Сервер? Только транзакции добавить или есть альтернативные варианты?
 
Цитата
Oleg Belenkov написал:
mapLogCommitActionObject(HOBJ info);

Да, это решение помогло. Подскажите, это какое-то временное решение?
 
Сегодня обновим инсталляцию ГИС Сервер для Linux (Windows уже обновили). Системные транзакции будут закрываться автоматически.
ГИС Оператор эту операцию сам выполняет, в приложении мы это добавили (войдет в новый ГИС Конструктор).
 
Цитата
Ольга Нефедьева написал:
Добрый день! Для использования периода обновления в  вебтулките, необходимо  вызвать функцию GWTK.mapSetMapRefreshPeriod.
/**
* Установить период обновления карты
* @method mapSetMapRefreshPeriod
* @param map {Object} объект карты
* @param seconds {Number} период обновления динамических слоев карты, секунды
* Функция инициирует запросы изображений слоев с периодичностью seconds.
* Если seconds = 0 или undefined, обновление прекращается
*/
GWTK.mapSetMapRefreshPeriod (map, seconds)


Попробовал этот метод. К сожалению, работает не так как ожидалось. Работаю на том примере который кидал в этой теме - поэтому не стал открывать новую. Обновление координат объекта происходит в цикле каждые две секунды. Обновление в ГИС Оператор проходит как запланировано, а вот в веб-версии - хаотично и с задержкой. Если остановить программу, то видно, что объект иногда продолжает обновлять свои координаты - то есть где-то буферизует или кэш.

Используется WMS слой.   Период обновления - секунда:  GWTK.mapSetMapRefreshPeriod(gipMap, 1) Слой создается методом - openLayer(layerparam). Вебтулкит и ГИС Сервер обновлены до последних версий.
Изменено: Алексей - 29.10.2020 09:58:16
 
Цитата
Алексей написал:
Цитата
Ольга Нефедьева написал:
Добрый день! Для использования периода обновления в  вебтулките, необходимо  вызвать функцию GWTK.mapSetMapRefreshPeriod.
/**
* Установить период обновления карты
* @method mapSetMapRefreshPeriod
* @param map {Object} объект карты
* @param seconds {Number} период обновления динамических слоев карты, секунды
* Функция инициирует запросы изображений слоев с периодичностью seconds.
* Если seconds = 0 или undefined, обновление прекращается
*/
GWTK.mapSetMapRefreshPeriod (map, seconds)


Попробовал этот метод. К сожалению, работает не так как ожидалось. Работаю на том примере который кидал в этой теме - поэтому не стал открывать новую. Обновление координат объекта происходит в цикле каждые две секунды. Обновление в ГИС Оператор проходит как запланировано, а вот в веб-версии - хаотично и с задержкой. Если остановить программу, то видно, что объект иногда продолжает обновлять свои координаты - то есть где-то буферизует или кэш.

Используется WMS слой.   Период обновления - секунда:  GWTK.mapSetMapRefreshPeriod(gipMap, 1) Слой создается методом - openLayer(layerparam). Вебтулкит и ГИС Сервер обновлены до последних версий.
Запросы отсылаются на сервер с установленным интервалом. Вы выставляете 1 сек и каждую секунду шлете сервису запрос на создание рисунка. Зачем? Когда вы останавливаете обновление, сервис продолжает отвечать на полученные ранее запросы. Траффик тоже требует времени. Выставите адекватный период обновления рисунков.  
 
Цитата
Ольга Нефедьева написал:
Запросы отсылаются на сервер с установленным интервалом. Вы выставляете 1 сек и каждую секунду шлете сервису запрос на создание рисунка. Зачем? Когда вы останавливаете обновление, сервис продолжает отвечать на полученные ранее запросы. Траффик тоже требует времени. Выставите адекватный период обновления рисунков.  

Так я писал изначально в этой теме, что нужно работать в условиях максимально приближенным к реальному времени. Мне надо траекторию полета отрисовывать.

Вот здесь я начал об этом говорить и получил ниже ответ: http://gisweb.ru/forum/messages/forum2/topic10857/message82235/10857-para-voprosov-po-mapapi#message82235

ГИС Оператор же работает в подобном режиме нормально. Мне нужно с минимально возможной задержкой менять координаты объектов и на веб.
Изменено: Алексей - 29.10.2020 11:01:24
 
Добавьте свой компонент поверх GIS WebToolKit, который открывает websocket, получает мгновенно координаты и отображает траекторию средствами SVG-графики поверх карты.
 
Цитата
Oleg Belenkov написал:
Добавьте свой компонент поверх GIS WebToolKit, который открывает websocket, получает мгновенно координаты и отображает траекторию средствами SVG-графики поверх карты.

Ну это костыль какой-то получается. Пришлось специально максимально отказаться от работы в вебтулкитом - потому что там куча других проблем все время возникало. Сейчас все на плюсах и в принципе понятно как с этим работать под ГИС Оператор. Но надо под веб. К тому же там не только траектория движется, но и ряд объектов. Ну, положим, обновление раз в секунду далеко не для всех надо. А какой минимальный интервал считается нормальным тогда? И возможно есть какое-то иное решение все таки, используя плюсы, отключить буферизацию, кэширование и т.д?. У нас не будет хайлоада и тысячи подключений - реалтайм в приоритете.
 
Если не будет "хайлоада и тысячи подключений - реалтайм в приоритете.", то сначала поставьте период 15-20сек. И посмотрите, что получается.
Затем методом подбора можно определиться со значением (в сторону увеличения). Но в любом случае, частое обновление страницы приводит к снижению производительности
приложения и нагружает сервер.    
 
Да даже 5 секунд много. Возможно все таки есть способ самостоятельно дергать и перерисовывать слой по запросу?
Страницы: Пред. 1 2 3 4 5 След.
Читают тему (гостей: 1)



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

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