О доступе к картам Google

Clarion, Clarion 7

Модератор: Дед Пахом

Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
Ответить
Evgeny2006
Бывалый
Сообщения: 61
Зарегистрирован: 23 Июль 2010, 13:44
Откуда: С-Петербург

О доступе к картам Google

Сообщение Evgeny2006 »

Совсем запутался. Подскажите, что я делаю неправильно.
Версия 6.3.9059

Имеется форма с несколькими кнопками и объектом OLE/OCX. При нажатии на кнопку формируется обращение к OLE объекту (формируется правильно и в автономном режиме происходит правильный переход):

Код: Выделить всё

?URL{'Navigate(URL=''' & Clip('''File://'''  & Path() & Loc:Address1) &''',flags=14)'}
Переменные в тексте программы описаны след. образом:

Код: Выделить всё

Loc:Address1         STRING('Route-Calc.htm {6}')     
Loc:Address2         STRING('CM23 2WY {12}')            
Loc:URL                STRING('file:///F:/!Literature/!Clarion/Distance/Route-Calc.htm {145}') 
Однако IE выдает сообщение:

Переход на веб-страницу отменен
Evgeny2006
Evgeny2006
Бывалый
Сообщения: 61
Зарегистрирован: 23 Июль 2010, 13:44
Откуда: С-Петербург

Re: О доступе к картам Google

Сообщение Evgeny2006 »

Общий подход изложен в статье "Using The Web Browser OCX" от июля 2001. Пока не проверил!
Evgeny2006
Evgeny2006
Бывалый
Сообщения: 61
Зарегистрирован: 23 Июль 2010, 13:44
Откуда: С-Петербург

Re: О доступе к картам Google

Сообщение Evgeny2006 »

Общий подход изложен в статье "Using The Web Browser OCX" от июля 2001. Пока не проверил!
Проверил. Не работает.
Вероятно подход применялся к старым версиям, например 5.5 и ниже.
С такой штукой я столкнулся еще в FoxPro. Там в начале было тоже самое.
Дело оказалоcь в старом варианте Web Browser. Нужен Web Browser 2. Он у меня есть в Foxpro (в классе оболочке), но как его оттуда вытащить даже не представляю.
Имеющийся в Clarion Web Browser может переходить только по прямой ссылке на Веб адрес, а через html (htm) не работает.
Evgeny2006
Evgeny2006
Бывалый
Сообщения: 61
Зарегистрирован: 23 Июль 2010, 13:44
Откуда: С-Петербург

Re: О доступе к картам Google

Сообщение Evgeny2006 »

Evgeny2006 писал(а):Совсем запутался. Подскажите, что я делаю неправильно.
Версия 6.3.9059

Имеется форма с несколькими кнопками и объектом OLE/OCX. При нажатии на кнопку формируется обращение к OLE объекту (формируется правильно и в автономном режиме происходит правильный переход):

Код: Выделить всё

?URL{'Navigate(URL=''' & Clip('''File://'''  & Path() & Loc:Address1) &''',flags=14)'}
Переменные в тексте программы описаны след. образом:

Код: Выделить всё

Loc:Address1         STRING('Route-Calc.htm {6}')     
Loc:Address2         STRING('CM23 2WY {12}')            
Loc:URL                STRING('file:///F:/!Literature/!Clarion/Distance/Route-Calc.htm {145}') 
Однако IE выдает сообщение:

Переход на веб-страницу отменен
На ошибку мое внимание обратил ДП.
Path() не ставит в конце замыкающий слэш!!!
Следовательно Loc:Address надо начинать со слэша!
Все это хорошо, только все равно работать не будет. В IE8 Loc:URL надо писать так:

Код: Выделить всё

Loc:URL                STRING('F:/!Literature/!Clarion/Distance/Route-Calc.htm {145}')
т.е. file/// теперь писать не надо.
Пока не победил окончательно, но если написать так:

Код: Выделить всё

?URL{'Navigate(URL=F:/!Literature/!Clarion/Distance/Route-Calc.htm,flags=14)'}
то все прекрасно работает. Следует заметить, что прога сделана ручками. При использовании генератора эта конструкция также не работает.
Evgeny2006
Evgeny2006
Бывалый
Сообщения: 61
Зарегистрирован: 23 Июль 2010, 13:44
Откуда: С-Петербург

Re: О доступе к картам Google

Сообщение Evgeny2006 »

Стал заново просматривать Navigate и вот, что обнаружил:

Код: Выделить всё

VB
'Декларация

Public Sub Navigate ( _
	url As Uri, _
	targetFrameName As String, _
	postData As Byte(), _
	additionalHeaders As String _
)
'Применение

Dim instance As WebBrowser
Dim url As Uri
Dim targetFrameName As String
Dim postData As Byte()
Dim additionalHeaders As String

instance.Navigate(url, targetFrameName, _
	postData, additionalHeaders

Параметры

[color=#0000FF]url[/color]
Тип: [color=#FF0000]System.Uri[/color][color=#FF0000][/color]
Объект Uri, представляющий URL-адрес загружаемого документа
Uri - это класс, который обеспечивает объектное представление универсального кода ресурсов (URI), а также простой доступ к его частям.
При формировании же ссылки в программе использовались строковые данные.
Поэтому программа и не работает при формировании ссылки.
Evgeny2006
Stalker
Активист
Сообщения: 127
Зарегистрирован: 01 Декабрь 2005, 20:47
Откуда: Минск
Контактная информация:

О доступе к картам Google

Сообщение Stalker »

Evgeny2006, Здравствуйте, нашел вашу тему хочу обратится с вопросом. Возможно ли взаимодействие клары и карт Google? К примеру с использованием проги Google Earth. То есть используя клару необходимо формировать метки , полигоны , маршруты сохраняя их в файле формата *.KML, данные файлы хранить в БД и загружать при необходимости в Google Earth. Загружать не проблема так как при наличии *.kml файла он будет загружаться средствами винды при установленном Google Earth. Основной вопрос возможно ли сформировать KML файл в среде клары (где основную роль играют координаты точек карт).
Напрашивается примерно такой алгоритм:
-создается объект OLE/OCX
-накладывается рисунок карты
-создается система координат (преобразования)
-создается система отображения объектов с привязкой к координатам
- объекты формируются в слои
- дальше сохранение слоя в файле формата KML
В Google Earth имеется возможность сбрасывать свои метки в kml файл, но организовать целый слой уже проблематично или я не владею информацией. Под слоем я понимаю к примеру сеть заправок по всей стране, или площади засеянные виноградом с границами районов и принадлежностью собственников и т.д.
Спасибо, с уважением Stalker/
Специализация - программы для образования, делопроизводство, складской учет
Аватара пользователя
RaFaeL
✯ Ветеран ✯
Сообщения: 1376
Зарегистрирован: 24 Март 2009, 17:59
Откуда: НН
Благодарил (а): 7 раз
Поблагодарили: 1 раз
Контактная информация:

О доступе к картам Google

Сообщение RaFaeL »

kml это вроде xml т.е. его можно просто сформировать без всяких ole
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7332
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 13 раз
Поблагодарили: 48 раз

О доступе к картам Google

Сообщение Игорь Столяров »

Можно на эту тему посмотреть http://www.ingasoftplus.com/ProductDeta ... ductID=293
Там в принципе хорошая демка, все понятно ...

Также в тему: http://forum.clarionlife.net/phpbb/view ... %8B#p20201

Правда мы тогда с Yandex.Map развлекались, но принцип один и тот же ...
За теми кто отстал - не возвращаться. (С) Кодекс
Ал
✯ Ветеран ✯
Сообщения: 1011
Зарегистрирован: 08 Июль 2005, 6:48
Откуда: Россия

О доступе к картам Google

Сообщение Ал »

Stalker писал(а):... или я не владею информацией
в Google Earth посм. примеры...
Ответить