Geocode как узнать

Бесплатный Google Geocoding API предоставляет эту услугу через HTTP REST API. Обратите внимание, что использование API и ограничение скорости ограничено , но вы можете оплачивать неограниченный доступ.

Попробуйте эту ссылку, чтобы увидеть пример вывода (это в json, вывод также доступен в XML)

https://maps.googleapis.com/maps/api/geocode/json?latlng=40.714224,-73.961452&sensor=true


Вам нужна

а потом:

для получения дополнительной информации:


Альтернативой Open Source является Nominatim с Open Street Map. Все, что вам нужно сделать, это установить переменные в URL-адресе и вернуть город / страну этого местоположения. Пожалуйста, ознакомьтесь со следующей ссылкой для официальной документации: Nominatim


Я использовал Geocoder , хорошую библиотеку Python, которая поддерживает несколько поставщиков, включая Google, Geonames и OpenStreetMaps, и это лишь некоторые из них . Я попытался использовать библиотеку GeoPy, и она часто получает тайм-ауты. Разработка собственного кода для GeoNames — это не лучшее использование вашего времени, и вы можете получить нестабильный код.

Учитывая координаты lat/long, как мы можем узнать город/страну?

Геокодер очень прост в использовании в моем опыте и имеет достаточно хорошую documentation . Ниже приведен пример кода для поиска города по широте и долготе или нахождения широты / долготы по названию города.


Вы можете использовать API геокодирования Google

Bellow — это функция php, которая возвращает адрес, город, штат и страну


Проверьте приведенный ниже ответ. Меня устраивает


Geocoding Addresses Best Practices

C# модуль геокодирования с использованием Яндекс API

20.12.2013c#open sourceyandex

Возможности

  • Определение географического расположения объекта: широта, долгота, границы, метаданные;

Использование

Пример

Спецификация

API службы геокодирования Яндекс: http://api.yandex.ru/maps/doc/geocoder/desc/concepts/About.xml

Заметки

  • Возможности Службы реализованы частично, возможна последующая реализации функций обратного геокодирования и поиска ближайшей станции метро;
  • Модуль активно использовался для определения координат нескольких десятков тысяч адресов объектов (адреса зданий и населенных пунктов России), включая удаленные и малонаселенные участки, результат оправдал ожидания.

Лицензия

The MIT License (MIT)


Исходники (GitHub)Поддержать

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

Как получить Geocode Google Maps

Но существует библиотека Geocoder, которая представляет собой абстрактный слой для работы с гео-данными. К тому же в ней реализованы большинство известных провайдеров. Что очень удобно и дает большой выбор разработчику. В статье мы научимся определять страну, язык и город по ip-адресу.

Исходный кодДемо

Установка

Установить Geocoder, используя composer, очень легко. Необходимо добавить строку в composer.json!

1 2 3 4 5 { "require": { "willdurand/geocoder": "@stable" } }

Если вариант с composer не подходит, модно скачать архив с сайта Geocoder.

Гео-данные

Geocoder поддерживает множество провайдеров гео-данных. Одни из них предоставляют данные по ip-адресам, другие по координатам, третьи по поисковому запросу вида «ул Тверская 5, Москва, Россия». Библиотека сама определяет какой провайдер по каким данным ищет. Что очень удобно и дает простор для фантазии. К тому же можно использовать определенные провайдеры или цепочки, на случай отсутствия данных у некоторых представителей информации.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 // index.php   $adapter=new \Geocoder\HttpAdapter\CurlHttpAdapter();$geocoder=new \Geocoder\Geocoder();$geocoder->registerProvider(new \Geocoder\Provider\ChainProvider([new \Geocoder\Provider\IpGeoBaseProvider($adapter),new \Geocoder\Provider\FreeGeoIpProvider($adapter),new \Geocoder\Provider\HostIpProvider($adapter),new \Geocoder\Provider\GeoPluginProvider($adapter),new \Geocoder\Provider\YandexProvider($adapter),new \Geocoder\Provider\GoogleMapsProvider($adapter),]));   $IP=$_SERVER[’REMOTE_ADDR’];   try {$data=$geocoder->geocode($IP);   if($data!=null&&$data[’latitude’]){$la=$data[’latitude’];$lo=$data[’longitude’];$dataByCoders=$geocoder->reverse($la,$lo);if($dataByCoders!=null){$data=array_merge($data->toArray(),$dataByCoders->toArray());}}   } catch (Exception $e){die(’Error: ‘.$e->getMessage());}

Первые четыре провайдера в коде предоставляют данные по ip-адресам.

Последние два по координатам и поисковым запросам. Так как у карт Яндекса и Google база значительно обширней, то первый запрос определяет координаты, а второй, используя координаты, получает данные у Яндекса или Google.

В результате вы получаете массив вида:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 [’latitude’=>52.0739343,’longitude’=>4.2636776,’bounds’=>[’south’=>52.0610866’west’=>4.2262026’north’=>52.0868446’east’=>4.3008719],’streetNumber’=>7,’streetName’=>’Laan Van Meerdervoort’,’city’=>’Гаага’,’zipcode’=>null,’cityDistrict’=>null,’county’=>null,’countyCode’=>null,’region’=>’Южная Голландия’,’regionCode’=>null,’country’=>’Нидерланды’,’countryCode’=>’NL’,’timezone’=>null,]

Как видно далеко не все данные представлены, но основные есть.

А у платных провайдеров ситуация должна быть лучше.

Для первого знакомства с Geocoder предоставленной информации достаточно. Скачайте исходный код и экспериментируйте. А также изучите документацию на официальном сайте!

Поделиться ссылкой с друзьями

Использовать геокодер можно бесплатно, если в сутки к нему, а также к маршрутизатору и панорамам вы делаете суммарно не больше 25 тысяч запросов.

Что такое геокод и как его узнать

Подробности о том, как считаются запросы, можно узнать в документации. Даже если обращения происходят по протоколу HTTPS, результаты должны быть отображены на общедоступной карте. Результаты геокодирования нельзя сохранять и использовать без карты. Также нужно соблюдать остальные условия бесплатного использования API.

 Обратите внимание: чтобы одинаковые обращения к геокодеру не считались несколько раз, запросы можно кэшировать на срок до 30 дней. Кэширование также уменьшит нагрузку на ваш сайт или приложение.

Если ваш  проект не соответствует условиям бесплатного использования API, приобретите лицензию на коммерческое использование API.

Добавить комментарий

Закрыть меню