#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.
Статьи на испанском языке, но вы можете получить доступ к автоматическому переводу с помощью кнопки справа от страницы.
Все статьи содержат код; Посмотрите и протестируйте его.
- (Google Maps — API) Географическое кодирование — I
- (Google Maps — API) Географическое кодирование — II
- Карты Google на Delphi — I
- Карты Google на Delphi — II
С уважением.
Ответ №3:
Вы можете использовать онлайн-картографические сервисы (например, Google Map или Microsoft Bing); они оба предоставляют статические картографические сервисы наряду со своими интерфейсами динамической карты по умолчанию, которые работают внутри веб-браузера. Они также поддерживают запросы географического местоположения; то есть вы можете отправить адрес на их сервер и получить координату. Они также предоставляют различные уровни информации и инструментов, отображаемых на карте.
Для вашей цели вы можете использовать службу статической карты для получения изображения (карты, спутниковой или гибридной) с заданным уровнем масштабирования и размером изображения по заданной координате с помощью Google или Bing, после чего вы можете отобразить изображение в своем приложении.
Для использования запроса географического местоположения и динамической веб-карты вам необходимо получить бесплатный ключ разработчика либо с помощью Google, либо Bing. Они оба также имеют обширную онлайн-документацию и SDK, которые вы можете скачать.
Если вы ищете готовый коммерческий компонент, TGAgis является одним из компонентов, обеспечивающих такую функциональность.