powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Twebbrowser обновление некоторых данных в загруженной страничке.
5 сообщений из 5, страница 1 из 1
Twebbrowser обновление некоторых данных в загруженной страничке.
    #39530710
roma1975
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день!

Загрузил в webbrowser файл в котором карта yandex и метка, определяемая gps координатами планшета, скажем х,у.
Как можно сделать, чтобы в webbrowser через минуту поменялись координаты х, у метки, но карта сама не перерисовывалась,
а только менялась положение метки?
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
.....
s1:=
'<!DOCTYPE html> '+
'<html>   '+
'<head>   '+
'	<title>Карта экипажей</title> '+
'    <meta http-equiv="x-ua-compatible" content="ie=edge"> '+
'	<script src="https://api-maps.yandex.ru/2.1/?lang=ru_RU" type="text/javascript"></script> '+
'<body>  '+
'<div id="map" style="position:absolute;width: 100%; height: 100%;background:black;"></div>'+
'<script>                                                    '+
'ymaps.ready(init);                                            '+
'var myMap, myCollectionE, myCollectionP, myCollectionO;       '+
'function init(){                                                '+
'	myMap = new ymaps.Map("map", {                                 '+
'		center: [43.2199387972459, 76.8524551391602],                '+
'		zoom: 12                                                     '+
'	});                                                            '+
'	myCollectionE = new ymaps.GeoObjectCollection();               '+
'	myCollectionO = new ymaps.GeoObjectCollection();               '+
'	myMap.geoObjects.add(myCollectionE);                           '+
'	myMap.geoObjects.add(myCollectionO);                           '+
' var myPlacemark = new ymaps.Placemark(['+StringReplace(floattostr(x),',','.',[rfReplaceAll, rfIgnoreCase])+', '+StringReplace(floattostr(y),',','.',[rfReplaceAll, rfIgnoreCase])+'], { '+
'				balloonContent: '''+lblCar.Text+''',  '+
'				hintContent: '''+lblCar.Text+ ''''+
'			},   '+
'			{     '+
'				preset:"islands#DotIconWithCaption", '+
'				iconColor:''red''   '+
'			} '+
'			); '+
'		myPlacemark.name = '''+lblCar.Text+'''; '+
'		myPlacemark.description ='''+lblCar.Text+'''; '+
'		myCollectionE.add(myPlacemark);        '+
'}                                                               '+
'</script>                                                       '+
'</html>'

;
Memo5.Lines.Clear;
Memo5.Lines.Add(s1);
Memo5.Lines.SaveToFile('//sdcard//Download//f5.html');
WebBrowser2.Navigate('file:'+'//sdcard//Download//f5.html');
...
Рейтинг: 0 / 0
Twebbrowser обновление некоторых данных в загруженной страничке.
    #39530754
Фотография DarkMaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
roma1975,

По идее - добавить к документу скрипт, который переинициирует myPlaceMark с новыми координатами и заменяет в myCollectionE старый элемент на новый. А потом вызвать этот скрипт с новыми координатами. Как добавлять скрипты и вызывать их знаешь?
...
Рейтинг: 0 / 0
Twebbrowser обновление некоторых данных в загруженной страничке.
    #39530807
roma1975
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как скрипты вызывать знаю мало. А можно на данном конкретном примере - это показать?
...
Рейтинг: 0 / 0
Twebbrowser обновление некоторых данных в загруженной страничке.
    #39530966
Фотография DarkMaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
roma1975,

Конкретно с yandex картами я не работал, но вот простой пример, как внедрить в документ скрипт и его вызвать.
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
procedure TForm1.Button1Click(Sender: TObject);
var
  Doc2     : IHtmlDocument2;
  Script   : IHtmlDOMNode;
  HTMLWindow: IHTMLWindow2;
begin
 Doc2 := Webbrowser1.Document as IHtmlDocument2;
 if Assigned(Doc2.body) then
  begin
   Script := Doc2.createElement('script') as IHTMLDOMNode;
   (Script as IHTMLScriptElement).text := 'function helloWorld() { alert("hello world!") }';
   (Doc2.body as IHtmlDomNode).appendChild(Script);   // добавили свой скрипт в загруженный документ
   HTMLWindow := Doc2.parentWindow;
   if Assigned(HTMLWindow) then
    HTMLWindow.execScript('helloWorld()', 'JavaScript');  // вызвали добавленный скрипт
  end;
end;
...
Рейтинг: 0 / 0
Twebbrowser обновление некоторых данных в загруженной страничке.
    #39532041
roma1975
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо. Попробуем скриптом сделать.
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Twebbrowser обновление некоторых данных в загруженной страничке.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]