Russian Qt Forum

Qt => Работа с сетью => Тема начата: Umnik от Октябрь 10, 2010, 21:24



Название: C++ JavaScript и google maps api, не запускается скрипт
Отправлено: Umnik от Октябрь 10, 2010, 21:24
Коротко суть проблемы: если вставить javascript-код в текст страницы и загрузить ее в QWebView, то все работает. А если
из Си++ пытаться запустить тот же код, то не работает, причем только google maps api (хотя может и другие интернет функции не заработают).
Теперь более подробно:
Прочитал статью о том как встроить google карты в программу на Qt, используя JavaScript и QtWebKit:
http://www.wiki.crossplatform.ru/index.php...Google_Maps_API
Скачал проект, откомпилировал, работает.
Переделал его под третью версию api карт гугл (требовалось переделать только html-страницу), тоже все работало, маркеры отображались.
(маркеры там добавлялись на карту в тексте хтмл-страницы).

Потом удалил добавление одного маркера из хтмл-страницы и сделал добавление из программы:

Код:
     ui.map->page()->mainFrame()->evaluateJavaScript("\
              mp = document.getElementById(\"map\");\
              var point2 = new google.maps.LatLng(51.5714, 45.9719);\
              var marker2  = new google.maps.Marker({position: point2, map: mp, title: \"3\"});\
              google.maps.event.addListener(marker2, 'click', function(){ mainWindow.debugMessage(\"Вы нажали на третий      маркер.\");});");


этот скрипт не работает. (если оставить только первую строчку скрипта то будет работать). Почему? Почему если то же самое давить в текст страницы то работает? Не работают получается только гугловские функции...


Название: Re: C++ JavaScript и google maps api, не запускается скрипт
Отправлено: Umnik от Октябрь 11, 2010, 15:54
Проблема была в версии Qt. на 4.5.0 не работает, а начиная с 4.6.0 уже работает