Компонент выбора долготы и широты для Delphi?

#delphi #components #latitude-longitude

#delphi #Компоненты #широта-долгота

Вопрос:

Я ищу компонент Delphi, который позволяет пользователю выбирать и изменять координаты широты / широты, предпочтительно удобным для пользователя способом (то есть не путем ввода двух чисел).

В идеале компонент должен работать следующим образом:

  • В нем есть поля latitude , longitude которые пользователь может редактировать.
  • При заданных координатах отображается карта или изображение со спутника с маркером.
  • Он может принимать адрес (улица, номер, почтовый индекс и страна) и угадывать координаты
  • Было бы неплохо, если бы пользователь мог перетащить маркер для настройки координат

Кто-нибудь знает, существует ли такой компонент? Предпочтительны решения с открытым исходным кодом. Если нет, может кто-нибудь рассказать мне о том, как создать такой компонент?

Комментарии:

1. Если вам нужно что-то, что работает в автономном режиме, вы также можете рассмотреть возможность использования MS MapPoint 2011 и его элемента управления ActiveX. Очевидно, что он не бесплатный, и вам нужно купить и установить MapPoint на компьютер, но он упрощает использование Active X mapping control в delphi. Проблема не в компоненте, а в данных. Либо используйте онлайн-карты (Google или bing), либо вам понадобится потенциально огромный набор файлов картографических данных и способ их отображения.

Ответ №1:

Попробуйте использовать Google Static Maps API V2 , Если вы хотите, чтобы образец Delphi использовал этот API, попробуйте эту статью Using Google maps (Static Maps) without TWebBrowser , а также проверьте лицензионное соглашение (потому что в то время, когда я писал эту статью, лицензионное соглашение было другим).

…Если изображение API статических карт используется вне веб-приложения (например, браузера), то должна быть включена ссылка, указывающая на отображаемое местоположение в веб-браузере или собственном приложении Google Maps

Комментарии:

1. Спасибо! 1 за подробную информацию (особенно о лицензии)

Ответ №2:

Здесь вы можете найти 4 статьи об использовании Google API в Delphi. Вы можете найти две дуги о GeoAdress и две о Картах Google. Как найти координаты (широта / долгота) почтового адреса o выберите позицию (широта / долгота) визуально на Картах Google и извлеките ее с помощью Delphi.

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

Все статьи содержат код; Посмотрите и протестируйте его.

С уважением.

Ответ №3:

Вы можете использовать онлайн-картографические сервисы (например, Google Map или Microsoft Bing); они оба предоставляют статические картографические сервисы наряду со своими интерфейсами динамической карты по умолчанию, которые работают внутри веб-браузера. Они также поддерживают запросы географического местоположения; то есть вы можете отправить адрес на их сервер и получить координату. Они также предоставляют различные уровни информации и инструментов, отображаемых на карте.

Для вашей цели вы можете использовать службу статической карты для получения изображения (карты, спутниковой или гибридной) с заданным уровнем масштабирования и размером изображения по заданной координате с помощью Google или Bing, после чего вы можете отобразить изображение в своем приложении.

Для использования запроса географического местоположения и динамической веб-карты вам необходимо получить бесплатный ключ разработчика либо с помощью Google, либо Bing. Они оба также имеют обширную онлайн-документацию и SDK, которые вы можете скачать.

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