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

Построение полигона и позиционирование на необходимом месте

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

Вот метод в action
Код
   drawObject(value: any) {
        const coordinates = value.coordinates.split(';');
        const mapCalculator = new GWTK.MapCalculations(this.map);
        if (this.mapObject) {
            this.mapObject.removeAllPoints();
            
            coordinates.forEach((coordinateStr: string) => {
                if (coordinateStr && coordinateStr.length > 0) {
                    const coordinate = coordinateStr.split(',');
                    const latitude = Number(coordinate[0].trim());
                    const longitude = Number(coordinate[1].trim());

                    const positions = mapCalculator.mapDirectPositionComputation(latitude, longitude, 0, 0);
                    if (positions) {
                        this.mapObject.addGeoPoint(new GeoPoint(positions.l, positions.b));
                    }
                }
            });
            this.map.fitBounds(this.mapObject.getBounds());
            if (window.top) {
                let params: any = this.mapObject.toJSON();
                params.properties.area = 'polygon';
                window.top.postMessage({ message: 'coordinates', value: params }, '*');
            }
        }
 }
 

Когда нахожусь в нужной области координат, то отрисовывается все правильно. Но когда например координаты полигона в Москве, а спозиционированы в Петербурге, то полигон рисуется в Петербурге.  И только когда будет произведено какое то действие(двинуть карту или масштаб) он отобразит полигон в нужном месте.

Видимо нужно обновить как то карту?
Версия GIS WebToolKit 6.9.0


И как в этой теме, https://gisweb.ru/forum/messages/forum31/topic13933/message101438/13933-ustanovka-masshtaba?result=r... ошибка когда масштаб который по умолчанию. Если масштаб был изменен в начале, то все отработает корректно. В консоли ошибок нет.
В overlayRefresh в map.js попадает и выполняется
Изменено: Михаил Перевёрткин - 05.03.2024 03:20:49
 
Здравствуйте,

Для перерисовки графических объектов необходимо вызвать
Код
map.requestRender();
либо
Код
map.overlayRefresh();
 
Цитата
Виктор Тазин написал:
requestRender
А может ли быть проблема настройках, или в чем то еще.
При вызове requestRender и когда не менялся масштаб,  то  перерисовка карты выполняется, но где то через 10 секунд
 
Цитата
Михаил Перевёрткин написал:
А может ли быть проблема настройках, или в чем то еще.
При вызове requestRender и когда не менялся масштаб,  то  перерисовка карты выполняется, но где то через 10 секунд
Настроек для обновления экрана нет. Тем более по 10 секунд смущает.

Перерисовка должна быть на следующий кадр отрисовки экрана.

Такое впечатление, что какое-то ожидание получения данных висит.

Во вкладке сети (консоли разработчика) запросы без задержек выполняются?
Страницы: 1
Читают тему (гостей: 1)



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

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