Вопрос по – Google Maps не веб-доступ

7

Мне нужно иметь доступ к API Карт Google из не веб-приложения. Я вижу в Картах Google & apos; Часто задаваемые вопросы, что это возможно. Однако я не могу найти никаких ссылок на доступ к API из приложения для ПК. Может ли кто-нибудь указать мне правильное направление?

(Я хочу получить доступ к API из приложения Delphi, если это поможет.)

Заранее спасибо.

Суть в том, что мне нужно запечатлеть маршрут, по которому человек ездит, от начала до остановки. Мне нужно название улицы, города и штата / провинции. Предположительно, в API Карт Google есть геодекодер, который бы дал мне эту информацию, зная координаты GPS. rickstep
Прежде чем тратить больше времени на написание кода, вы должны очень внимательно прочитать условия лицензии и, возможно, рассмотреть возможность использования OpenStreetMap. Просто говорю... dummzeuch
Похоже, что nominatim из OpenStreetMap содержит данные, которые я ищу. Поскольку я новичок в этом, есть ли примеры, как вызвать nomiatim из Delphi и интерпретировать результаты XML? rickstep

Ваш Ответ

3   ответа
15

Google v3 от Delphi.TWebBrowser компонента и загрузите HTML-страницу с кодом JavaScript для обработкиGoogle Maps JavaScript API v3, отсюда, используя такие функции, какIHTMLWindow2.execScript иИнтерфейсы MSHTML вы можете взаимодействовать с кодом JavaScript и ответами API Карт Google от Delphi.

Using the Google Maps API V3 from Delphi – Part I Basic functionality Using the Google Maps API V3 from Delphi – Part II Styled Maps Using the Google Maps API V3 from Delphi – Part III Getting the latitude and longitude of a mouse click Using Google maps (Static Maps) without TWebBrowser

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

Delphimaps GMLib – Google Maps Library
5

i, я настоятельно рекомендуюDelphi Framework for Google Maps, Это позволяет использоватьall API функцииwithout одна строкаHTML или жеJavaScript.

Например:

procedure TForm1.FormShow(Sender: TObject);
begin
  with Script(WebBrowser1) do
    if not APILoaded
      then LoadAPIAsync(InitMap);
end;

procedure TForm1.InitMap(Sender: TObject);
var
  MapOptions: TMapOptions;
begin
  with Sender as TScript do
  begin
    MapOptions:=New(Google.Maps.MapOptions);
    with MapOptions do
    begin
      Zoom:=8;
      Center:=New(Google.Maps.LatLng(-34.397,150.644));
      MapTypeID:=Google.Maps.MapTypeID.Roadmap;
    end;
    New(Google.Maps.Map(MapOptions));
  end;
end;

Планировщик маршрута также легко доступны. Есть несколько демонстраций.

К сожалению, вы все еще должны скачать его в настоящее время сНемецкий форум, Отдельный сайт находится в стадии разработки. Если есть проблемы с регистрацией или загрузкой, я могу отправить электронное письмо с рамками.

С уважением

ВАУ - я посмотрю на это. Спасибо!! rickstep
5


Forget about the Google Maps API, and use OpenLayers вместо.

Поверьте мне, у меня есть практический опыт с этим. Я создал бесчисленные веб-сайты и приложения для интерактивного картирования и написал код, который объединяет функциональность Карт Google в компоненты Delphi. Вы можете найти их в коде Google:http://code.google.com/p/delphimaps/

Вы также можете найти пример приложения, которое я сделал с ранней версией этих компонентов:Использовать Googlemap из моего приложения Delphi?

OpenLayers гораздо более универсален, он полностью открыт, и за ним стоит целое сообщество. Он может даже использовать Google Maps, но вы можете легко переключиться на OpenStreetMaps, Yahoo, Bing или свою собственную ГИС-систему.

В Интернете много примеров, и вы не привязаны к глупым правилам, навязанным Google. Например, если вы хотите использовать Google Maps через безопасное (HTTPS) соединение, вам придется заплатить. Я больше никогда напрямую не использую API Карт Google, и мои ГИС-сайты стали намного лучше с тех пор, как я начал использовать OpenLayers.

Возможно, однажды я должен обернуть OpenLayers в компоненты Delphi, но теперь вместо этого я делаю большинство вещей на JavaScript и общаюсь с моим приложением Delphi только тогда, когда это действительно необходимо, поэтому даже с приложениями Delphi, которые содержат карту, не так много ГИС сделано в Delphi. Оказывается, легче поддерживать.

..

Кроме того, OpenLayers не требует подключения к Интернету. Он может работать на 100% в вашем автономном браузере. Карты Google требуют, чтобы у вас было подключение к Интернету, поскольку он загружает части своего кода динамически, и он всегда хочет загружать свои карты из Google.

Суть в том, что мне нужно запечатлеть маршрут, по которому человек ездит, от начала до остановки. Мне нужно название улицы, города и штата / провинции. Может ли OpenLayers сделать это? rickstep
Лучше всего просто использовать SVN. Таким образом, вы автоматически всегда получите самую последнюю версию. Но я создал новый zip-файл с исходным кодом:code.google.com/p/delphimaps/downloads/list
& quot; теперь я делаю большинство вещей в JavaScript ... & quot; - вам больше не нужно, и вы можете остаться с Паскалем. Взгляните на Smart Mobile Studio:op4js.optimalesystemer.no/about
Я не уверен, что вы имеете в виду под "захватить маршрут", но если вам нужно превратить координаты в адреса, вы можете использовать API Google GeoCoder. DelphiMaps оборачивает это для вас, и есть две демонстрации того, как его использовать. DelphiMaps также оборачивает планировщик маршрута Google, и для этого также есть демонстрационная версия. Это пространство слишком мало, чтобы дать дальнейшие объяснения по нему; задать новый вопрос, если вам нужна помощь с этим.
Да - преобразование координат в адреса даст мне название улицы, города и штата / провинции. Ссылка на DelphiMaps приводит меня к устаревшей загрузке. Где-нибудь еще есть более свежая загрузка? rickstep

Похожие вопросы