Ответ геокодера Google Maps JavaScript API представляет собой массив объектов результатов, где каждый объект описывает одно возможное соответствие введённого адреса или координат. Основная структура включает ключевые поля:
formatted_addressgeometryaddress_componentstypesplace_idpartial_match (в некоторых случаях)Каждое из этих полей играет роль в определении точности и интерпретации найденного объекта на карте.
formatted_address содержит человекочитаемое строковое
представление адреса. Формат формируется системой Google и может
отличаться по детализации в зависимости от региона и уровня точности
результата.
Пример:
"formatted_address": "ул. Абая 10, Караганда 100000, Казахстан"
Это поле используется для отображения результата пользователю, но не предназначено для логической обработки адреса.
place_id — уникальный идентификатор объекта в системе
Google Places. Он остаётся стабильным даже при изменении адресной
структуры или форматирования.
Основные характеристики:
Пример:
"place_id": "ChIJN1t_tDeuEmsRUsoyG83frY4"
types — ключевой элемент, определяющий категорию
результата. Это массив строк, каждая из которых описывает тип найденного
объекта.
street_address — точный адрес зданияroute — улицаintersection — перекрёстокpolitical — административная единицаcountry — странаadministrative_area_level_1 — регион/областьadministrative_area_level_2 — районlocality — населённый пунктpostal_code — почтовый индексpremise — здание или комплексsubpremise — помещение внутри зданияПример:
"types": ["street_address"]
или
"types": ["locality", "political"]
Каждый результат дополнительно содержит
address_components — массив частей адреса, где каждая часть
также имеет собственные types.
Пример структуры компонента:
{
"long_name": "Караганда",
"short_name": "Караганда",
"types": ["locality", "political"]
}
country — странаadministrative_area_level_1 — регион первого
уровняadministrative_area_level_2 — районlocality — городsublocality — микрорайонpostal_code — индексroute — улицаstreet_number — номер зданияЭти типы позволяют собирать адрес по частям и анализировать его структуру независимо от локализации.
geometry содержит координаты и метаданные о расположении
объекта. Внутри него ключевую роль играет location_type,
определяющий точность геокодирования.
ROOFTOP — точная геолокация до уровня зданияRANGE_INTERPOLATED — интерполированное значение между
известными точкамиGEOMETRIC_CENTER — геометрический центр объектаAPPROXIMATE — приблизительное местоположениеПример:
"geometry": {
"location": {
"lat": 49.806,
"lng": 73.085
},
"location_type": "ROOFTOP"
}
location_type напрямую влияет на степень доверия к
результату.
Геокодер может возвращать несколько вариантов для одного запроса. Это массив объектов, отсортированный по релевантности.
Пример:
[
{ formatted_address: "...", types: ["street_address"] },
{ formatted_address: "...", types: ["route"] },
{ formatted_address: "...", types: ["locality"] }
]
Каждый элемент массива представляет отдельную интерпретацию введённого запроса.
partial_match указывает, что результат соответствует
запросу лишь частично. Это особенно характерно для неточных или неполных
адресов.
Пример:
"partial_match": true
Наличие этого флага снижает достоверность результата и требует
дополнительной проверки через address_components.
Различие между types результата и types
компонентов является принципиальным:
types результата описывает общий характер объекта
(например, город или улица)types компонентов описывает составные части адресаЭто позволяет:
{
"formatted_address": "Караганда, Казахстан",
"place_id": "ChIExample123",
"types": ["locality", "political"],
"partial_match": false,
"geometry": {
"location": {
"lat": 49.806,
"lng": 73.085
},
"location_type": "APPROXIMATE"
},
"address_components": [
{
"long_name": "Караганда",
"short_name": "Караганда",
"types": ["locality", "political"]
},
{
"long_name": "Казахстан",
"short_name": "KZ",
"types": ["country", "political"]
}
]
}
Использование типов результатов позволяет:
street_address,
premise)locality,
administrative_area_level_*)location_typeТакая система типов формирует основу семантического анализа географических данных в Google Maps API.