Jump to content
uniGUI Discussion Forums
Sign in to follow this  
izotope

Google Maps geocoding

Recommended Posts

Коллеги, кто-нибудь использовал пример Google Maps из примеров ?

Никак не могу сделать geocoding

Более того, после такой процедуры

 

  UniSession.AddJS('if (typeof googleMap=="object") {googleMap.setCenter(new google.maps.LatLng('+
                        StringReplace(Format('%2.4f', [Lat]), ',', '.', [rfReplaceAll])+','+
                        StringReplace(Format('%2.4f', [Long]), ',', '.', [rfReplaceAll])+
                      ')); googleMap.setZoom(16); scaleControl: true;  draggable: true; navigationControl: true}');
 

 

Отключается пользовательский скроллинг и перемещение карты.

Share this post


Link to post
Share on other sites

Добрый вечер, какая версия унигуи ?

Причем даже без проверки видны ошибки в синтаксисе .

Это точно правильно ?

scaleControl: true;  draggable: true; navigationControl: true

Share this post


Link to post
Share on other sites

Добрый вечер, какая версия унигуи ?

Причем даже без проверки видны ошибки в синтаксисе .

Это точно правильно ?

scaleControl: true;  draggable: true; navigationControl: true

в бесконечных пробах и ошибках я уже перешел на компонент

http://forums.unigui.com/index.php?/topic/4862-google-maps-geocoding/

 

кладу на фрейм а не на форму, отображается пустая страница, при F5 карта отображается, но не работает геокодинг

замкнутый круг

Share this post


Link to post
Share on other sites

В целом геокодинг можно использовать, левый, скажем от Яндекса, он даже проще.

Я например загружаю со стороны сервера, а потом передаю на клиент.

Share this post


Link to post
Share on other sites

В целом геокодинг можно использовать, левый, скажем от Яндекса, он даже проще.

Я например загружаю со стороны сервера, а потом передаю на клиент.

Не поделитесь примером?

Share this post


Link to post
Share on other sites

Пример очень сложно выдернуть из контекста.

Но мысль следующая 

Тут изложено апи геокодирования

http://api.yandex.com.tr/maps/doc/geocoder/desc/concepts/input_params.xml

 

1)С помощью сервера

Используется любой метод закачки http

Можно  использовать Indy, Synapce. и.т.д

Возвращать приятнее json он меньше по размерам и легче парсится  вручную.

Далее получаем координаты и с помощью Гугльмаповского компонента от Лёмы определяем маркер в заданную точку.

2)С помощью клиента

можно использовать jquery или стандартным ajax запросом

Далее опять вытягиваются координаты и маркер посылается в заданную точку с помощью api гугла.

Это  для сервера на FastScript

procedure  SearchAdressEx(Adress:String;var LatS,LonS:String);
var LatS,Lons,S,SQ:String;
    i:integer;
    M:TStringStream;
    Lat,LOn:Double;
    R:Integer;
begin
M:=TStringStream.Create;
try
S:='http://geocode-maps.yandex.ru/1.x/?geocode='+Adress+'&lang=uk-UA&format=json&results=1';
HttpGetFile(S,M); //Тут мы закачиваем файл
S:=M.DataString;
if pos('"pos":',S)<>0
then
begin
S:=copy(S,pos('"pos":',S)+length('"pos":')+1,length(S));
S:=copy(S,1,pos('"',S)-1);
LatS:=ExtractWord(2,S,' ');
LonS:=ExtractWord(1,S,' ');
end;
finally
M.Free;
end;
end;

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×