Переход с функций v3 на конечную точку SearchDestinations

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

Следующие функции Geocoding API v3 заменяются конечной точкой SearchDestinations Geocoding API v4:

  • Входы
  • Навигационные точки
  • Контуры здания
  • Территория

Если вы использовали Geocoding API v3 для указанных выше функций, воспользуйтесь этим документом, чтобы узнать, как использовать конечную точку SearchDestinations для доступа к этим функциям. В этом документе объясняется, где в ответе SearchDestinations можно найти эти функции, а также различия в представлении этих функций в ответах API между Geocoding API v3 и конечной точкой SearchDestinations Geocoding API v4.

Входы

Чтобы получить входы, связанные с destination , используйте поле destination.entrances .

Обратите внимание, что формат entrance немного отличается от формата входа в Geocoding API v3 . Каждый вход в destination.entrances имеет следующие поля:

  • displayName — это новое необязательное поле, которое будет содержать понятное человеку название входа, например, «Ворота B».
  • location — это местоположение типа LatLng , которое отличается от формата, используемого в Geocoding API v3.
  • tags - это то же самое, что и поле tags входов из Geocoding API v3.
  • place — аналогично полю buildingPlaceId для входов из Geocoding API v3. Однако идентификатор места в этом поле может относиться к месту любого типа, а не только к зданию.

Чтобы получить навигационные точки, связанные с destination , используйте поле destination.navigationPoints .

Обратите внимание, что формат navigationPoint немного отличается от формата навигационной точки в Geocoding API v3 . Каждая навигационная точка в destination.navigationPoints имеет следующие поля:

  • displayName — это новое необязательное поле, которое будет содержать понятное для человека название навигационной точки, например, «5th Ave».
  • location — это местоположение типа LatLng , которое отличается от формата, используемого в Geocoding API v3.
  • travelModes — аналогично полю restrictedTravelModes навигационных точек из Geocoding API v3. Возможные значения перечисления те же, единственное отличие заключается в том, что это поле теперь представляет допустимые режимы передвижения для навигационной точки, а не ограниченные.
  • usage — это новое поле, содержащее варианты использования, поддерживаемые точкой навигации. Обратите внимание, что для большинства точек навигации будет указано UNKNOWN использование, но это не обязательно означает, что использование точки навигации каким-либо образом ограничено.

Контуры здания

Чтобы получить контуры зданий, связанных с destination , следует использовать поле displayPolygon объектов placeView в destination , представляющих здания. Для каждого placeView можно проверить, является ли оно зданием, с помощью поля placeView.structureType . Если тип строения — BUILDING , контур можно получить из поля placeView.displayPolygon . В placeView также будут дополнительные поля для здания, отсутствовавшие в Geocoding API v3.

destination может иметь объект placeView , представляющий здание в следующих полях:

  • destination.primary — это основное место назначения.
  • destination.containingPlaces — это повторяющееся поле, которое может содержать более крупные места, «содержащие» основное место. Например, если основное место — subpremise , containingPlaces обычно будет содержать placeView представляющий здание.
  • destination.subDestinations — это повторяющееся поле, которое может содержать подпункты назначения основного места. Например, отдельные квартиры в здании. В этом поле обычно не будет представлено представление placeView , представляющее здание.

Обратите внимание, что формат placeView.displayPolygon соответствует формату контура здания в Geocoding API v3 , то есть формату GeoJSON, использующему формат RFC 7946 .

Территория

Подобно контурам зданий, для получения информации о территории, связанной с destination , следует использовать поле displayPolygon объектов placeView в destination , представляющих территорию. Для каждого placeView можно проверить, является ли он территорией, с помощью поля placeView.structureType . Если тип структуры — GROUNDS , контур можно получить из поля placeView.displayPolygon . В placeView также будут дополнительные поля для территорий, отсутствовавшие в Geocoding API v3.

destination может иметь объект placeView , представляющий территорию в следующих полях:

  • destination.primary
  • destination.containingPlaces
  • destination.subDestinations

Обратите внимание, что формат placeView.displayPolygon соответствует формату контура территории в Geocoding API v3 , то есть формату GeoJSON, использующему формат RFC 7946 .

Используйте маску поля для запроса этих функций

Для конечной точки SearchDestinations требуется маска поля, как описано в разделе Выбор полей для возврата . Маску поля можно задать как * , чтобы вернуть все поля, или указать конкретные поля, которые вы хотите получить. Например, следующий API-запрос задаёт маску поля для получения всех полей, необходимых для получения входов, точек навигации, контуров зданий и территории пункта назначения:

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,destinations.containingPlaces,destinations.subDestinations" \
  https://geocode.googleapis.com/v4alpha/geocode/destinations