Собственно прошу направить меня на путь истинный. Есть БД с GPS-данными: координаты + скорость. Нужно: отображать текущее положение GPS-датчика, и пройденный маршрут за указанный период времени на онлайн-карте. Может компоненты какие есть?
Спасибо!
======
Lazarus 1.0.14 + FPC 2.6.2
Взаимодействие с Google, Yandex картами. Как это?
Модератор: Модераторы
Есть в самом яндексе, целый отдел по этому поводу и там всё расписано по секундам.
Работать с ним можно через http запросы. Соответственно synapse Вам в помощь.
Работать с ним можно через http запросы. Соответственно synapse Вам в помощь.
Встраивайте в программу браузер и вызывайте в нем страницу, дёргающую нужные API на JavaScript.
Для Delphi компоненты точно есть, GoogleMaps так и называется. В CT видел порт этого компонента, но играться с ним не стал.
Схожая тематика.
Если еще актуально, то тут есть https://code.google.com/p/mapviewer/.
Собирается и что-то кажет, дальше пока не копал.
Если еще актуально, то тут есть https://code.google.com/p/mapviewer/.
Собирается и что-то кажет, дальше пока не копал.
Оно под Windows. Уже пытался приучить к Linux - но что-то там не пошло. Разбираться нет времени. Уже затачиваюсь на Яндекс-карты. Но у них максимум 100 поинтов. И я до сих пор не могу придумать, как красиво сделать распознавание поинта по клику мыши на нем.......
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.
Под Linux (Linux Mint 16 Cinnamon, openSUSE 13.1 KDE) вываливается с ошибкой!
Не работает этот компонент ни под CT, ни под чистым Lazarus!
Пытаюсь запустить пример:
Добавлено спустя 24 минуты 26 секунд:
в модуле kcMapViewer пребывает в бесконечном цикле, вызывая себя саму, если в каталоге cahe не обнаруживается ранее сохраненный кэш.
Добавлено спустя 51 минуту 4 секунды:
Дайте рабочий пример, с TMapViewer. Не могу найти доки по его использованию...
Добавлено спустя 47 минут 21 секунду:
Закоментил
в модуле kcMapViewerDESynapse, - вроде заработало... Но как-то некрасиво отрабатывает смету "центра"
Попробую сделать более плавной отрисовку.
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, - вроде заработало... Но как-то некрасиво отрабатывает смету "центра"
