Служба Google Maps Geocoding API обеспечивает геокодирование и обратное геокодирование адресов.
Эта служба также доступна как часть Google Maps JavaScript API на стороне клиента или для использования на стороне сервера с Java Client, Python Client, Go Client и Node.js Client for Google Maps Services.
Геокодирование – это процесс преобразования адресов (например, почтовых адресов) в географические координаты (широту и долготу), которые могут быть использованы для размещения маркеров на карте или указания ее положения.
Обратное геокодирование – это процесс преобразования географических координат в адреса, понятные для пользователя. Представленная в Google Maps Geocoding API служба обратного геокодирования также позволяет найти адрес по указанному идентификатору места.
Пример запроса и ответа
Доступ к Google Maps Geocoding API осуществляется с помощью интерфейса HTTP. Ниже приведены примеры запросов геокодирования и обратного геокодирования.
Запрос и ответ геокодирования (поиск широты/долготы)
В следующем примере запрашиваются широта и долгота адреса "1600 Amphitheatre Parkway, Mountain View, CA", а также указывается, что ответ должен быть в формате JSON.
https://maps.googleapis.com/maps/api/geocode/json?address=1600+Amphitheatre+Parkway,+Mountain+View,+CA&key=YOUR_API_KEY
Этот запрос можно проверить, введя URL-адрес в браузер (замените YOUR_API_KEY своим фактическим ключом API). Ответ включает широту и долготу адреса.
В руководстве для разработчиков см. дополнительную информацию о создании URL запросов геокодирования, доступных параметрах и интерпретации ответов.
Ниже приведен пример ответа геокодирования в формате JSON:
{
"results" : [
{
"address_components" : [
{
"long_name" : "1600",
"short_name" : "1600",
"types" : [ "street_number" ]
},
{
"long_name" : "Amphitheatre Pkwy",
"short_name" : "Amphitheatre Pkwy",
"types" : [ "route" ]
},
{
"long_name" : "Mountain View",
"short_name" : "Mountain View",
"types" : [ "locality", "political" ]
},
{
"long_name" : "Santa Clara County",
"short_name" : "Santa Clara County",
"types" : [ "administrative_area_level_2", "political" ]
},
{
"long_name" : "California",
"short_name" : "CA",
"types" : [ "administrative_area_level_1", "political" ]
},
{
"long_name" : "United States",
"short_name" : "US",
"types" : [ "country", "political" ]
},
{
"long_name" : "94043",
"short_name" : "94043",
"types" : [ "postal_code" ]
}
],
"formatted_address" : "1600 Amphitheatre Parkway, Mountain View, CA 94043, USA",
"geometry" : {
"location" : {
"lat" : 37.4224764,
"lng" : -122.0842499
},
"location_type" : "ROOFTOP",
"viewport" : {
"northeast" : {
"lat" : 37.4238253802915,
"lng" : -122.0829009197085
},
"southwest" : {
"lat" : 37.4211274197085,
"lng" : -122.0855988802915
}
}
},
"place_id" : "ChIJ2eUgeAK6j4ARbn5u_wAGqWA",
"types" : [ "street_address" ]
}
],
"status" : "OK"
}
Запрос и ответ обратного геокодирования (поиск адреса)
В следующем примере запрашивается адрес, соответствующий указанным координатам широты и долготы в Бруклине, штат Нью-Йорк, США. В нем указывается, что ответ должен быть в формате JSON.
https://maps.googleapis.com/maps/api/geocode/json?latlng=40.714224,-73.961452&key=YOUR_API_KEY
Этот запрос можно проверить, введя URL-адрес в браузер (замените YOUR_API_KEY своим фактическим ключом API). Ответ содержит понятный адрес для места с указанными координатами широты и долготы.
В руководстве для разработчиков см. дополнительную информацию о создании URL запросов обратного геокодирования, доступных параметрах и интерпретации ответов.
Ниже приведен пример ответа обратного геокодирования в формате JSON:
{
"results" : [
{
"address_components" : [
{
"long_name" : "277",
"short_name" : "277",
"types" : [ "street_number" ]
},
{
"long_name" : "Bedford Avenue",
"short_name" : "Bedford Ave",
"types" : [ "route" ]
},
{
"long_name" : "Williamsburg",
"short_name" : "Williamsburg",
"types" : [ "neighborhood", "political" ]
},
{
"long_name" : "Brooklyn",
"short_name" : "Brooklyn",
"types" : [ "sublocality", "political" ]
},
{
"long_name" : "Kings",
"short_name" : "Kings",
"types" : [ "administrative_area_level_2", "political" ]
},
{
"long_name" : "New York",
"short_name" : "NY",
"types" : [ "administrative_area_level_1", "political" ]
},
{
"long_name" : "United States",
"short_name" : "US",
"types" : [ "country", "political" ]
},
{
"long_name" : "11211",
"short_name" : "11211",
"types" : [ "postal_code" ]
}
],
"formatted_address" : "277 Bedford Avenue, Brooklyn, NY 11211, USA",
"geometry" : {
"location" : {
"lat" : 40.714232,
"lng" : -73.9612889
},
"location_type" : "ROOFTOP",
"viewport" : {
"northeast" : {
"lat" : 40.7155809802915,
"lng" : -73.9599399197085
},
"southwest" : {
"lat" : 40.7128830197085,
"lng" : -73.96263788029151
}
}
},
"place_id" : "ChIJd8BlQ2BZwokRAFUEcm_qrcA",
"types" : [ "street_address" ]
},
... Additional results truncated in this example[] ...
],
"status" : "OK"
}
Начните кодирование с нашими клиентскими библиотеками
Клиентские библиотеки облегчают разработку с использованием интерфейсов API веб-служб Google Maps благодаря простой и эффективной реализации механизмов решения стандартных задач, например, аутентификации, блокировки запросов и автоматического повтора попыток. Интерфейс Google Maps Geocoding API доступен в Java Client, Python Client, Go Client и Node.js Client for Google Maps Services.
Аутентификация, квоты и политики
Активируйте API и получите ключ API
Чтобы использовать Google Maps Geocoding API, нужно предварительно активировать API в Google API Console и получить учетные данные для аутентификации. В каждом запросе нужно указывать ключ API (или идентификатор клиента, если вы используете премиум-план).
Нажмите кнопку ниже, чтобы выполнить следующие шаги процесса:
- Создание или выбор проекта
- Включение API
- Получение ключа API
Подробнее об учетных данных для аутентификации.
Квоты
На странице ограничений на использование можно найти подробную информацию о квотах, установленных для Google Maps Geocoding API.
Политики
Использование Google Maps Geocoding API должно соответствовать политикам API.
Подробнее
С помощью Geocoding API можно сделать и многое другое. В руководстве для разработчиков Geocoding API можно найти дополнительные демонстрации, примеры, доступные параметры, коды состояния, сообщения об ошибках и другие данные.
