Взаимодействие с Google, Yandex картами. Как это?

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

Взаимодействие с Google, Yandex картами. Как это?

Сообщение VirtUX » 02.03.2014 10:48:31

Собственно прошу направить меня на путь истинный. Есть БД с GPS-данными: координаты + скорость. Нужно: отображать текущее положение GPS-датчика, и пройденный маршрут за указанный период времени на онлайн-карте. Может компоненты какие есть?
Спасибо!
======
Lazarus 1.0.14 + FPC 2.6.2
Аватара пользователя
VirtUX
энтузиаст
 
Сообщения: 880
Зарегистрирован: 05.02.2008 10:52:19
Откуда: Крым, Алушта

Re: Взаимодействие с Google, Yandex картами. Как это?

Сообщение vitaly_l » 02.03.2014 13:51:22

Есть в самом яндексе, целый отдел по этому поводу и там всё расписано по секундам.
Работать с ним можно через http запросы. Соответственно synapse Вам в помощь.
Аватара пользователя
vitaly_l
долгожитель
 
Сообщения: 3333
Зарегистрирован: 31.01.2012 16:41:41

Re: Взаимодействие с Google, Yandex картами. Как это?

Сообщение Максим » 02.03.2014 15:50:19

Встраивайте в программу браузер и вызывайте в нем страницу, дёргающую нужные API на JavaScript.
Аватара пользователя
Максим
энтузиаст
 
Сообщения: 599
Зарегистрирован: 27.07.2007 01:51:43
Откуда: Москва

Re: Взаимодействие с Google, Yandex картами. Как это?

Сообщение stanilar » 03.03.2014 17:54:39

Для Delphi компоненты точно есть, GoogleMaps так и называется. В CT видел порт этого компонента, но играться с ним не стал.
stanilar
постоялец
 
Сообщения: 289
Зарегистрирован: 09.03.2010 19:09:02

Re: Взаимодействие с Google, Yandex картами. Как это?

Сообщение heks » 22.04.2014 12:43:43

Схожая тематика.
Если еще актуально, то тут есть https://code.google.com/p/mapviewer/.
Собирается и что-то кажет, дальше пока не копал.
heks
новенький
 
Сообщения: 29
Зарегистрирован: 23.07.2012 11:50:39

Re: Взаимодействие с Google, Yandex картами. Как это?

Сообщение VirtUX » 25.04.2014 00:01:31

Оно под Windows. Уже пытался приучить к Linux - но что-то там не пошло. Разбираться нет времени. Уже затачиваюсь на Яндекс-карты. Но у них максимум 100 поинтов. И я до сих пор не могу придумать, как красиво сделать распознавание поинта по клику мыши на нем.......
Аватара пользователя
VirtUX
энтузиаст
 
Сообщения: 880
Зарегистрирован: 05.02.2008 10:52:19
Откуда: Крым, Алушта

Re: Взаимодействие с Google, Yandex картами. Как это?

Сообщение sign » 25.04.2014 05:33:09

TMapViewer— работа с картами в Lazarus. Компоненты установлены в СТ.
Map Viewer

Copyright (C) 2011 Maciej Kaczkowski / keit.co

This library is free software; you can redistribute it and/or modify it
under the terms of the GNU Library General Public License as published by
the Free Software Foundation; either version 2 of the License, or (at your
option) any later version.
sign
энтузиаст
 
Сообщения: 1131
Зарегистрирован: 30.08.2009 09:20:53

Re: Взаимодействие с Google, Yandex картами. Как это?

Сообщение VirtUX » 29.04.2014 11:19:18

Под Linux (Linux Mint 16 Cinnamon, openSUSE 13.1 KDE) вываливается с ошибкой!
VirtUX писал(а): Уже пытался приучить к Linux - но что-то там не пошло.

Не работает этот компонент ни под CT, ни под чистым Lazarus!
Пытаюсь запустить пример:
Проект MapViewer1 вызвал класс исключения 'External: SIGSEGV'.

По адресу 435AA5


Добавлено спустя 24 минуты 26 секунд:
Код: Выделить всё
procedure TCustomDownloadEngine.DownloadFile(const Url: string; str: TStream);
var
  ACanHandle: Boolean;
begin
  if Assigned(FOnBeforeDownload) then
    FOnBeforeDownload(Url, str, ACanHandle)
  else
    ACanHandle := False;

  if not ACanHandle then
    DoDownloadFile(Url, str);

  if Assigned(FOnAfterDownload) then
    FOnAfterDownload(Url, str);

  str.Position := 0;
end;

в модуле kcMapViewer пребывает в бесконечном цикле, вызывая себя саму, если в каталоге cahe не обнаруживается ранее сохраненный кэш.

Добавлено спустя 51 минуту 4 секунды:
Дайте рабочий пример, с TMapViewer. Не могу найти доки по его использованию...

Добавлено спустя 47 минут 21 секунду:
Закоментил
Код: Выделить всё
procedure TMVDESynapse.DoDownloadFile(const Url: string; str: TStream);
var
  FHttp: THTTPSend;
begin
  //inherited DownloadFile(Url, str);
  FHttp := THTTPSend.Create;
  try
    if FUseProxy then
    begin
      FHTTP.ProxyHost := FProxyHost;
      FHTTP.ProxyPort := IntToStr(FProxyPort);
      FHTTP.ProxyUser := FProxyUsername;
      FHTTP.ProxyPass := FProxyPassword;
    end;

    if FHTTP.HTTPMethod('GET', Url) then
    begin
      str.Seek(0, soFromBeginning);
      str.CopyFrom(FHTTP.Document, 0);
      str.Position := 0;
    end;
  finally
    FHttp.Free;
  end;
end;         

в модуле kcMapViewerDESynapse, - вроде заработало... Но как-то некрасиво отрабатывает смету "центра" :( Попробую сделать более плавной отрисовку.
Аватара пользователя
VirtUX
энтузиаст
 
Сообщения: 880
Зарегистрирован: 05.02.2008 10:52:19
Откуда: Крым, Алушта


Вернуться в Lazarus

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 245

Рейтинг@Mail.ru