Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > C# (си шарп)
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 03.11.2012, 01:53   #1
frozen123123
 
Регистрация: 21.03.2012
Сообщений: 3
По умолчанию WebBrowser и GoogleMap

Добрый день!

Есть gps-приемник, хочу отображать его местоположение на карте.
Написал html-страничку, которая отображает google карту, используя googlemap api v3, и где прописаны javascript функции по добавлению/перемещению маркеров, а в приложении на форму поместил webBroser, через который смотрю на эту страницу.

Данные от gps-приемника приходят по ком-порту, в событии serialPort1_DataReceived формируется массив необходимых аргументов для javascript функции и запускается скрипт:

Код:
        public void SetMarker(string[] args)
        {
            webBrowser.Document.InvokeScript("setMarker", args);
        }
Маркер ставится, но при перемещении он начинает мерцать, то есть пропадает с текущей позиции и через какое-то короткое время появляется в другом месте, это моргание напрягает немного.

В html-странице написал таймер, который каждую секунду перемещает маркер в случайную точку, если просто открыть эту страницу через браузер (включая Internet Explorer), то все работает нормально, то есть никакого мерцания быть не должно.
Код:
var tim = setInterval(function(){
           var rndX = Math.random() * (56.435132 - 56.00000) + 56.00000;
           var rndY = Math.random() * (37.000000 - 36.55777) + 36.55777;
           setMarker("id0","Mos",rndX,rndY);
}, 1000);
 
 
function setMarker(_id,_name,_x,_y){
           var marker = ExistMarker(_id);
          
           if(typeof(marker) == "undefined") marker = new MyMarker(_id,_name,_x,_y);
           else
           {
                var newPosition = new google.maps.LatLng(_x,_y);
                marker.point.setPosition(newPosition);
           }
};
Однако аналогичная операция в winform приложении (случайное перемещение маркера по таймеру) приводит к его мерцанию.

Подскажите, пожалуйста, в чем причина этого мерцания и как её исправить?
frozen123123 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
WebBrowser rabbitsnew Общие вопросы Delphi 1 23.09.2010 18:05
Позиционирование в GoogleMap Dreanks Помощь студентам 0 30.08.2010 12:55
Координаты в GoogleMap Tinki Работа с сетью в Delphi 2 26.04.2010 16:53
WebBrowser kuzmich Компоненты Delphi 0 16.12.2007 11:30
WebBrowser Druid-druid Работа с сетью в Delphi 1 12.12.2007 13:23