найти пункты назначения;

Разработчики из Европейской экономической зоны (ЕЭЗ)

Destination – это определенное место, куда пользователь хочет добраться. Объект Destination также содержит набор данных, связанных с местоположением или местом, например точки навигации, ориентиры, входы и контуры зданий.

Метод SearchDestinations Geocoding API позволяет получать подробную информацию о различных пунктах назначения на основе разных входных критериев, таких как адрес, идентификатор места или координаты широты и долготы.

Запрос на поиск пунктов назначения

Запрос на поиск пунктов назначения – это HTTP-запрос POST к URL в следующем формате:

https://geocode.googleapis.com/v4/geocode/destinations

Передайте все параметры в теле запроса JSON или в заголовках в составе запроса POST. Пример:

curl -X POST -d '{
  "place": "places/ChIJY8sv5-i2j4AR_S6BlDDR42w"
}' \
-H 'Content-Type: application/json' -H "X-Goog-Api-Key: API_KEY" \
-H "X-Goog-FieldMask: *" \
https://geocode.googleapis.com/v4/geocode/destinations

Указать местоположение для поиска пункта назначения можно одним из трех способов:

  • Адрес
  • Идентификатор места
  • Координаты широты и долготы

Поиск пункта назначения по адресу

Адрес можно указать в виде неструктурированной строки. Геокодирование адресов не работает с координатами широты и долготы, а также с другими неструктурированными строками, которые не являются адресами. Запросы с такими строками не поддерживаются и могут привести к ошибкам или непредсказуемому поведению. Примеры неподдерживаемых запросов:

Тип запроса Пример
Координаты широты и долготы. Вместо этого используйте запрос с указанием местоположения. "37.422131,-122.084801"
Слишком много понятий или ограничений, например названия нескольких мест, дорог или городов в одном запросе. "Market Street San Francisco San Jose Airport"
Элементы почтового адреса, не представленные на Google Картах "C/O John Smith 123 Main Street"
"P.O. Box 13 San Francisco"
Названия компаний, сетей или категорий, объединенные с местоположениями, в которых эти объекты недоступны. "Tesco рядом с Далласом, Техас"
Неоднозначные запросы с несколькими интерпретациями "Возврат зарядного устройства"
Исторические названия, которые больше не используются. "Middlesex United Kingdom"
Негеопространственные элементы или намерения "Сколько лодок в гавани Вентура?"
Неофициальные или рекламные названия. "Дженга"
"Хелтер Скелтер"
Крупные политические единицы (города, штаты, страны) "New York City"
"California"
"USA"
Маршруты без точных адресов "1st Ave., NYC, NY"
"I-95"
curl -X POST -d '{
  "addressQuery": {
    "addressQuery": "601 S Bernardo Ave, Sunnyvale, CA 94087, USA"
  }
}' \
-H 'Content-Type: application/json' -H "X-Goog-Api-Key: API_KEY" \
-H "X-Goog-FieldMask: *" \
https://geocode.googleapis.com/v4/geocode/destinations

или в виде postalAddress:

curl -X POST -d '{
  "addressQuery": {
    "address": {
      "addressLines": ["601 S Bernardo Ave"],
      "locality": "Sunnyvale",
      "postalCode": "94087",
      "administrativeArea": "CA",
      "regionCode": "US"
    }
  }
}' \
-H 'Content-Type: application/json' -H "X-Goog-Api-Key: API_KEY" \
-H "X-Goog-FieldMask: *" \
https://geocode.googleapis.com/v4/geocode/destinations

Формат postalAddress обычно используется при обработке компонентов адреса, полученных из HTML-формы.

Поиск пункта назначения по идентификатору места

Вы можете получить пункт назначения, указав идентификатор места:

curl -X POST -d '{
  "place": "places/ChIJY8sv5-i2j4AR_S6BlDDR42w"
}' \
-H 'Content-Type: application/json' -H "X-Goog-Api-Key: API_KEY" \
-H "X-Goog-FieldMask: *" \
https://geocode.googleapis.com/v4/geocode/destinations

Поддерживаемые идентификаторы мест

Метод Search Destinations лучше всего работает с идентификаторами мест, которые представляют определенные точки назначения, до которых можно добраться. Как правило, поддерживаются идентификаторы мест таких типов, как establishment, point_of_interest, premise, street_address и subpremise. Идентификаторы мест, которые не представляют отдельные местоположения, например полученные из диапазонов адресов (например, "ул. Ленина, 10–20"), участков маршрута без определенного номера или кодов Plus Code, не поддерживаются. Идентификаторы мест, которые занимают слишком большую площадь (например, "Тихий океан"), также не поддерживаются.

Как использовать Autocomplete (New) с Search Destinations

Чтобы обеспечить совместимость, используйте Autocomplete (New) для поиска идентификаторов мест, которые будут использоваться с Search Destinations. При использовании функции автозаполнения (новой версии) следует фильтровать результаты по типу с помощью параметра includedPrimaryTypes. Идентификаторы мест, возвращаемые Autocomplete (New) с использованием следующего рекомендуемого фильтра, поддерживаются Search Destinations:

"includedPrimaryTypes": [ "establishment", "point_of_interest", "premise", "street_address", "subpremise" ]

Кроме того, в запросе к Place Autocomplete (новая версия) не следует устанавливать для флага include_pure_service_area_businesses значение true.

Как найти пункт назначения по местоположению

Чтобы найти пункт назначения по широте и долготе, выполните следующие действия:

curl -X POST -d '{
  "locationQuery": {
    "location": {
      "latitude": 37.37348780,
      "longitude": -122.05678064
    }
  }
}' \
-H 'Content-Type: application/json' -H "X-Goog-Api-Key: API_KEY" \
-H "X-Goog-FieldMask: *" \
https://geocode.googleapis.com/v4/geocode/destinations

Как создать запрос с помощью OAuth

Geocoding API версии 4 поддерживает аутентификацию OAuth 2.0. Чтобы использовать OAuth с Geocoding API, токену OAuth необходимо назначить правильную область действия. Geocoding API поддерживает следующие области действия для использования с методом Destinations:

  • https://www.googleapis.com/auth/maps-platform.geocode — Используйте со всеми методами Geocoding API.

Вы также можете использовать общую область действия https://www.googleapis.com/auth/cloud-platform для всех методов Geocoding API. Эта область действия полезна на этапе разработки, но не в рабочей среде, поскольку она является общей и предоставляет доступ ко всем методам.

Дополнительную информацию и примеры можно найти в статье Как использовать OAuth.

Ответ на запрос поиска пунктов назначения

Ответ Search Destinations содержит подробную гиперлокальную информацию о месте.

Объекты PlaceView в ответе Search Destinations (например, primary, элементы в containingPlaces и landmarks) используют поля, чтобы указать тип места:

  • types – массив строк, указывающих тип места.
  • primaryType – строка, указывающая основной тип места.

Возможные строковые значения для types и primaryType приведены в таблицах А и Б на странице "Типы мест (новая версия)".

В этом разделе описываются ключевые поля ответа. Подробную информацию обо всех полях ответа можно найти в справочнике по API.

primary

Основное место, указанное в запросе.

addressComponents

Массив, содержащий отдельные компоненты адреса.

Каждый из компонентов адреса обычно содержит следующие поля:

  • types[] – массив, указывающий тип компонента адреса. Ознакомьтесь с поддерживаемыми типами.
  • longText – полное текстовое описание или название компонента адреса, возвращаемого геокодером.
  • shortText – сокращенное текстовое название компонента адреса (если есть). Например, компонент адреса для штата Аляска может содержать longText "Alaska" и shortText "AK" (двухбуквенное почтовое сокращение).
  • languageCode – язык, используемый для форматирования этого компонента, в нотации CLDR.

containingPlaces

Более крупные объекты, частью которых является основной пункт назначения (например, торговый центр, в котором находится магазин).

subDestinations

Более конкретные места в основном пункте назначения (например, квартиры в здании).

entrances

Объекты в массиве entrances[] имеют следующие поля:

  • location

    Пара координат широты и долготы, определяющая местоположение точки входа и выхода для места.

  • entrance_tags[]

    Массив тегов входа, описывающих характеристики входа. Поддерживается следующее значение:

    • "PREFERRED"

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

    Например, если возвращенное место – это ресторан в торговом центре, то точки входа "PREFERRED" будут вести в сам ресторан, а другие точки входа будут вести в здание, например в другие рестораны в торговом центре.

    Если возвращенный объект – это здание, входы "PREFERRED" будут вести в основную часть здания. Например, в торговом центре входы "PREFERRED" будут вести в главный холл, а вход, ведущий только в магазин сбоку здания, не будет входом "PREFERRED".

  • streetViewThumbnail и streetViewAnnotation

    Параметры для Street View Static API, позволяющие показывать изображения, относящиеся к этим местам. Подробнее об этих полях…

structureType

Тип строения, которое представляет это место.

  • POINT

    Точка на карте.

  • SECTION

    Часть здания.

  • BUILDING

    Здание.

  • GROUNDS

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

Поле navigationPoints в ответе геокодирования содержит список точек, которые можно использовать для навигации к месту. В частности, они должны использоваться в качестве начальной или конечной точки при прокладке маршрута по дорожной сети от места или к нему.

Каждая точка навигации содержит следующие значения:

  • navigationPointToken – токен, содержащий контекстную информацию в поле navigationPoints. Вы можете отправлять этот токен в API маршрутизации и навигации, чтобы улучшить маршрутизацию и навигацию по рекам в своем приложении. Подробнее о маршрутизации с использованием токенов точек навигации…
  • location – содержит значения широты и долготы точки навигации. Эта точка всегда находится очень близко к дорожной сети и представляет собой идеальный пункт отправления или назначения при навигации. Точка намеренно немного смещена от центральной линии дороги, чтобы четко обозначить сторону дороги, на которой находится место.
  • travelModes – список способов передвижения, для которых доступна точка навигации:
    • "DRIVE" – способ передвижения, соответствующий автомобильному маршруту.
    • "WALK" – режим передвижения, соответствующий пешеходным маршрутам.
  • usages – список вариантов использования, поддерживаемых точкой навигации. Варианты использования:
    • "DROPOFF"
    • "PICKUP"
    • "PARKING"

Для посадки и высадки используйте точку навигации, где способ передвижения – DRIVE, а использование – PICKUP или DROPOFF. Если точки посадки или высадки недоступны, используйте верхнюю точку навигации.

  • streetViewThumbnail и entranceAnnotation предоставляют параметры для Street View Static API, позволяя показывать изображения для этих местоположений. Подробнее об этих полях…
  • altitude_meters содержит высоту точки навигации в метрах относительно эллипсоида WGS-84. Если на карте есть вертикально расположенные сегменты дорог, используйте поле altitude_meters, чтобы выбрать лучший сегмент дороги для навигации.

landmarks

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

arrivalSummary

Статистика на основе ИИ, которая поможет вам прибыть в пункт назначения. Подробнее о кратких пересказах от ИИ…

parkingOptions

Подробная информация о парковке.

Формат ответа

SearchDestinations возвращает объект SearchDestinationsResponse в следующем формате JSON:

{
  "destinations": [
    {
      "primary": {
        "place": "places/ChIJY8sv5-i2j4AR_S6BlDDR42w",
        "displayName": {
          "text": "Arby's",
          "languageCode": "en"
        },
        "primaryType": "fast_food_restaurant",
        "types": [
          "fast_food_restaurant",
          "sandwich_shop",
          "deli",
          "meal_takeaway",
          "food_delivery",
          "american_restaurant",
          "restaurant",
          "food_store",
          "store",
          "food",
          "point_of_interest",
          "establishment"
        ],
        "formattedAddress": "Arby's, 601 S Bernardo Ave, Sunnyvale, CA 94087, USA",
        "postalAddress": {
          "regionCode": "US",
          "languageCode": "en",
          "postalCode": "94087",
          "administrativeArea": "CA",
          "locality": "Sunnyvale",
          "addressLines": [
            "601 S Bernardo Ave"
          ]
        },
        "structureType": "BUILDING",
        "location": {
          "latitude": 37.3734545,
          "longitude": -122.05693269999998
        },
        "displayPolygon": {
          "type": "Polygon",
          "coordinates": [
            [
              [
                -122.056930138027,
                37.3735253692531
              ],
              [
                -122.056960139391,
                37.3735372663597
              ],
              [
                -122.056994129366,
                37.3734828786847
              ],
              [
                -122.056969677395,
                37.3734731161089
              ],
              [
                -122.057061762447,
                37.3733261309656
              ],
              [
                -122.056979388817,
                37.3732935577128
              ],
              [
                -122.056798860285,
                37.3735818838642
              ],
              [
                -122.056875858081,
                37.3736121235316
              ],
              [
                -122.056930138027,
                37.3735253692531
              ]
            ]
          ]
        }
      },
      "containingPlaces": [
        {
          "place": "places/ChIJYfdAFum2j4ARIcL2tjME3Sw",
          "displayName": {
            "text": "Cherry Chase Shopping Center",
            "languageCode": "en"
          },
          "primaryType": "shopping_mall",
          "types": [
            "shopping_mall",
            "point_of_interest",
            "establishment"
          ],
          "formattedAddress": "Cherry Chase Shopping Center, 663 S Bernardo Ave, Sunnyvale, CA 94087, USA",
          "postalAddress": {
            "regionCode": "US",
            "languageCode": "en",
            "postalCode": "94087-1020",
            "administrativeArea": "CA",
            "locality": "Sunnyvale",
            "addressLines": [
              "663 S Bernardo Ave"
            ]
          },
          "structureType": "GROUNDS",
          "location": {
            "latitude": 37.3731231,
            "longitude": -122.0578211
          },
          "displayPolygon": {
            "type": "Polygon",
            "coordinates": [
              [
                [
                  -122.057112227103,
                  37.3714618008523
                ],
                [
                  -122.057076849821,
                  37.3715743611411
                ],
                [
                  -122.056963607756,
                  37.3719081793948
                ],
                [
                  -122.056865279559,
                  37.3722026053835
                ],
                [
                  -122.056687872374,
                  37.3727258358476
                ],
                [
                  -122.056580005889,
                  37.3730511370747
                ],
                [
                  -122.056498845827,
                  37.3732994782583
                ],
                [
                  -122.056338259713,
                  37.3737878663325
                ],
                [
                  -122.056618678291,
                  37.373887693582
                ],
                [
                  -122.056912102521,
                  37.3740010327191
                ],
                [
                  -122.057532418159,
                  37.3742476426462
                ],
                [
                  -122.057673926626,
                  37.3742441740031
                ],
                [
                  -122.057735663106,
                  37.3742328516943
                ],
                [
                  -122.057766531332,
                  37.3742220604378
                ],
                [
                  -122.057797572967,
                  37.37420520725
                ],
                [
                  -122.057828267759,
                  37.3741852342085
                ],
                [
                  -122.058060299297,
                  37.3740060842535
                ],
                [
                  -122.058199726081,
                  37.3737861673422
                ],
                [
                  -122.05836707267,
                  37.373524542556
                ],
                [
                  -122.058569622393,
                  37.3732018598683
                ],
                [
                  -122.0587638478,
                  37.3728890198039
                ],
                [
                  -122.058934661823,
                  37.3726036257774
                ],
                [
                  -122.059164956851,
                  37.3722498383629
                ],
                [
                  -122.058997784906,
                  37.3721804442035
                ],
                [
                  -122.057936479838,
                  37.3717605636234
                ],
                [
                  -122.057495827092,
                  37.3715860151634
                ],
                [
                  -122.057112227103,
                  37.3714618008523
                ]
              ]
            ]
          }
        }
      ],
      "landmarks": [
        {
          "place": {
            "place": "places/ChIJXXTe7Oi2j4ARoMTA-D6Hjpg",
            "displayName": {
              "text": "Chase Bank",
              "languageCode": "en"
            },
            "primaryType": "bank",
            "types": [
              "bank",
              "atm",
              "finance",
              "point_of_interest",
              "establishment"
            ],
            "formattedAddress": "Chase Bank, 1234 W El Camino Real, Sunnyvale, CA 94087, USA",
            "postalAddress": {
              "regionCode": "US",
              "languageCode": "en",
              "postalCode": "94087",
              "administrativeArea": "CA",
              "locality": "Sunnyvale",
              "addressLines": [
                "1234 W El Camino Real"
              ]
            },
            "structureType": "POINT",
            "location": {
              "latitude": 37.373579,
              "longitude": -122.05752700000001
            }
          },
          "relationalDescription": {
            "text": "Near Chase Bank",
            "languageCode": "en"
          },
          "tags": [
            "ARRIVAL",
            "ADDRESS"
          ],
          "straightLineDistanceMeters": 61.182193756103516,
          "travelDistanceMeters": 63.075645446777344
        },
        {
          "place": {
            "place": "places/ChIJteQ0Fum2j4ARGi3tqK4Zm14",
            "displayName": {
              "text": "Safeway",
              "languageCode": "en"
            },
            "primaryType": "grocery_store",
            "types": [
              "grocery_store",
              "butcher_shop",
              "florist",
              "deli",
              "supermarket",
              "bakery",
              "food_delivery",
              "market",
              "manufacturer",
              "food_store",
              "store",
              "food",
              "service",
              "point_of_interest",
              "establishment"
            ],
            "formattedAddress": "Safeway, 639 S Bernardo Ave, Sunnyvale, CA 94087, USA",
            "postalAddress": {
              "regionCode": "US",
              "languageCode": "en",
              "postalCode": "94087",
              "administrativeArea": "CA",
              "locality": "Sunnyvale",
              "addressLines": [
                "639 S Bernardo Ave"
              ]
            },
            "structureType": "POINT",
            "location": {
              "latitude": 37.3727912,
              "longitude": -122.0581172
            }
          },
          "relationalDescription": {
            "text": "Around the corner from Safeway",
            "languageCode": "en"
          },
          "tags": [
            "ARRIVAL",
            "ADDRESS"
          ],
          "straightLineDistanceMeters": 158.65606689453125,
          "travelDistanceMeters": 131.1669921875
        },
        {
          "place": {
            "place": "places/ChIJu-PSYui2j4ARNiwOwBApGqk",
            "displayName": {
              "text": "Oil Changers",
              "languageCode": "en"
            },
            "types": [
              "car_repair",
              "service",
              "point_of_interest",
              "establishment"
            ],
            "formattedAddress": "Oil Changers, 1240 W El Camino Real, Sunnyvale, CA 94087, USA",
            "postalAddress": {
              "regionCode": "US",
              "languageCode": "en",
              "postalCode": "94087",
              "administrativeArea": "CA",
              "locality": "Sunnyvale",
              "addressLines": [
                "1240 W El Camino Real"
              ]
            },
            "structureType": "POINT",
            "location": {
              "latitude": 37.3743054,
              "longitude": -122.0584272
            }
          },
          "relationalDescription": {
            "text": "Down the road from Oil Changers",
            "languageCode": "en"
          },
          "tags": [
            "ARRIVAL"
          ],
          "straightLineDistanceMeters": 140.52459716796875,
          "travelDistanceMeters": 143.24220275878906
        },
        {
          "place": {
            "place": "places/ChIJKRbl5oG3j4ARwuvPGUmtCj0",
            "displayName": {
              "text": "Apni Mandi Farmers Market Sunnyvale",
              "languageCode": "en"
            },
            "primaryType": "grocery_store",
            "types": [
              "grocery_store",
              "cake_shop",
              "supermarket",
              "asian_grocery_store",
              "indian_restaurant",
              "meal_takeaway",
              "bakery",
              "manufacturer",
              "wholesaler",
              "restaurant",
              "food_store",
              "store",
              "food",
              "point_of_interest",
              "establishment"
            ],
            "formattedAddress": "Apni Mandi Farmers Market Sunnyvale, 1111 W El Camino Real, Sunnyvale, CA 94087, USA",
            "postalAddress": {
              "regionCode": "US",
              "languageCode": "en",
              "postalCode": "94087-1056",
              "administrativeArea": "CA",
              "locality": "Sunnyvale",
              "addressLines": [
                "1111 W El Camino Real"
              ]
            },
            "structureType": "POINT",
            "location": {
              "latitude": 37.3737199,
              "longitude": -122.0522958
            }
          },
          "relationalDescription": {
            "text": "Near Apni Mandi Farmers Market Sunnyvale",
            "languageCode": "en"
          },
          "tags": [
            "ADDRESS"
          ],
          "straightLineDistanceMeters": 410.37435913085938,
          "travelDistanceMeters": 479.49893188476562
        },
        {
          "place": {
            "place": "places/ChIJ8enMlui2j4AR2xXK5EHDhBs",
            "displayName": {
              "text": "Starbird Chicken",
              "languageCode": "en"
            },
            "primaryType": "chicken_restaurant",
            "types": [
              "chicken_restaurant",
              "fast_food_restaurant",
              "restaurant",
              "food",
              "point_of_interest",
              "establishment"
            ],
            "formattedAddress": "Starbird Chicken, 1241 W El Camino Real, Sunnyvale, CA 94087, USA",
            "postalAddress": {
              "regionCode": "US",
              "languageCode": "en",
              "postalCode": "94087-1028",
              "administrativeArea": "CA",
              "locality": "Sunnyvale",
              "addressLines": [
                "1241 W El Camino Real"
              ]
            },
            "structureType": "BUILDING",
            "location": {
              "latitude": 37.3746764,
              "longitude": -122.05708860000001
            },
            "displayPolygon": {
              "coordinates": [
                [
                  [
                    -122.057003840785,
                    37.3747648209809
                  ],
                  [
                    -122.057136852459,
                    37.3747919153144
                  ],
                  [
                    -122.057205005705,
                    37.3745815131859
                  ],
                  [
                    -122.057071994114,
                    37.3745544186944
                  ],
                  [
                    -122.057003840785,
                    37.3747648209809
                  ]
                ]
              ],
              "type": "Polygon"
            }
          },
          "relationalDescription": {
            "text": "Near Starbird Chicken",
            "languageCode": "en"
          },
          "tags": [
            "ADDRESS"
          ],
          "straightLineDistanceMeters": 87.348007202148438,
          "travelDistanceMeters": 214.08084106445312
        }
      ],
      "entrances": [
        {
          "location": {
            "latitude": 37.3735328,
            "longitude": -122.05694879999999
          },
          "tags": [
            "PREFERRED"
          ],
          "place": "places/ChIJY8sv5-i2j4AR_S6BlDDR42w"
        }
      ],
      "navigationPoints": [
        {
          "navigationPointToken": "ChIJeMt61tqvQkARWT2716SDXsASEgljyy_n6LaPgBH9LoGUMNHjbBoSCWPLL-foto-AEf0ugZQw0eNsIhIJhf5y6ei2j4ARz7yBW5KAPI4",
          "location": {
            "latitude": 37.3738659,
            "longitude": -122.05693620000001
          },
          "travelModes": [
            "DRIVE",
            "WALK"
          ],
          "usages": [
            "PARKING"
          ]
        }
      ]
    }
  ]
}

Обязательные параметры

  • В запросе к API должен быть один из трех параметров, указывающих адрес, место или местоположение для поиска пункта назначения:
    • addressQuery – адрес, который нужно найти.
    • place – идентификатор места, которое нужно найти.
    • locationQuery – координаты широты и долготы местоположения, которое нужно найти.
  • FieldMask

    Укажите список полей, которые должны возвращаться в ответе, создав маску полей ответа. Передайте маску поля ответа методу, используя параметр URL $fields или fields либо заголовок HTTP X-Goog-FieldMask. Например, следующий запрос вернет только входы, точки навигации и идентификатор места основного пункта назначения.

      curl -X POST -d '{"place": "places/ChIJG3kh4hq6j4AR_XuFQnV0_t8"}' \
        -H "X-Goog-Api-Key: API_KEY" \
        -H "Content-Type: application/json" \
        -H "X-Goog-FieldMask: destinations.entrances,destinations.navigationPoints,destinations.primary.place" \
        https://geocode.googleapis.com/v4/geocode/destinations
      

    В ответе нет списка возвращаемых полей по умолчанию. Если вы не укажете маску поля, метод вернет ошибку. Чтобы получить все поля, задайте маску *. Подробнее о том, как выбрать поля, которые нужно вернуть…

Необязательные параметры

  • travelModes

    Указывает, какие типы navigationPoints нужно вернуть. Точки навигации для других способов передвижения будут отфильтрованы. Если параметр travelModes не задан, могут быть возвращены навигационные точки для всех способов передвижения.

  • languageCode

    Язык, на котором будут возвращены результаты.

    • Вы можете ознакомиться со списком поддерживаемых языков. Google часто обновляет список поддерживаемых языков, поэтому он может быть неполным.
    • Если параметр languageCode не указан, API по умолчанию использует местный язык и письменность. Если вы укажете недопустимый код языка, API вернет ошибку INVALID_ARGUMENT.
    • API пытается предоставить почтовый адрес, понятный как пользователю, так и местным жителям. Для этого он возвращает адреса улиц на местном языке, при необходимости транслитерируя их в шрифт, который может прочитать пользователь, с учетом предпочитаемого языка. Все остальные адреса возвращаются на предпочитаемом языке. Все компоненты адреса возвращаются на одном языке, который выбирается по первому компоненту.
    • Если название на предпочитаемом языке недоступно, API использует ближайшее соответствие.
    • Предпочтительный язык незначительно влияет на набор результатов, возвращаемых API, и порядок их следования. Геокодер интерпретирует сокращения по-разному в зависимости от языка, например сокращения типов улиц или синонимы, которые могут быть действительны на одном языке, но не на другом.
  • regionCode

    Код региона в виде двухсимвольного кода CLDR. Значение по умолчанию не задано. Большинство кодов CLDR совпадают с кодами ISO 3166-1.

    При геокодировании адреса (прямом геокодировании) этот параметр может влиять на результаты, возвращаемые сервисом, но не ограничивает их полностью. При геокодировании местоположения или места (обратное геокодирование или геокодирование места) этот параметр можно использовать для форматирования адреса. В любом случае этот параметр может влиять на результаты поиска в соответствии с действующим законодательством.

  • placeFilter

    Позволяет фильтровать результаты поиска locationQuery в соответствии с вашими требованиями, например возвращать только пункты назначения, которые являются зданиями, или только пункты назначения с точными адресами.

    Как фильтровать данные по структурной детализации

    Фильтр structureType позволяет указать, какие структуры должны быть возвращены по запросу:

    • Изоляция зданий. Используйте "structureType": "BUILDING", чтобы показать контуры зданий на карте или получить информацию об определенном строении.
    • Понимание комплексов. Используйте "structureType": "GROUNDS", чтобы основной результат был связан с территорией комплекса. Это полезно при запросах для больших территорий, например университетских городков или торговых центров.
    • Обозначение блоков и секций. Используйте "structureType": "SECTION", чтобы обозначить секции в здании.

    Убедитесь, что адреса полезны

    Не у всех мест есть четкие адреса на уровне улицы. Фильтр addressability позволяет контролировать качество адресов в результатах:

    • Требовать точный основной адрес. Чтобы в результатах поиска всегда был адрес или название на уровне улицы, используйте "addressability": "PRIMARY". Это полезно для навигации или отображения, когда важен точный адрес.
    • Разрешить адреса в дочерних объектах. Если у основного места нет адреса, но он есть у дочерних объектов (например, у квартир в доме), "addressability": "WEAK" проверяет, есть ли адрес хотя бы у основного места или одного из дочерних объектов.
    • Любой результат. Если наличие адреса не имеет значения для вашего варианта использования, выберите "addressability": "ANY". Это настоятельно рекомендуется, если вам нужны только геометрические атрибуты, такие как контуры зданий и точки навигации, поскольку это повышает точность результатов.
    Пример: фильтрация по адресу здания
    curl -X POST -d '{
      "locationQuery": {
        "location": {
          "latitude": 37.37348780,
          "longitude": -122.05678064
        },
        "placeFilter": {
          "structureType": "BUILDING",
          "addressability": "PRIMARY"
        }
      },
      "languageCode": "en"
    }' \\
    -H 'Content-Type: application/json' -H "X-Goog-Api-Key: API_KEY" \\
    -H "X-Goog-FieldMask: place" \\
    https://geocode.googleapis.com/v4/geocode/destinations