Migra de las funciones de la versión 3 al extremo de SearchDestinations

Desarrolladores del Espacio Económico Europeo (EEE)

Las siguientes funciones de la API de Geocoding v3 se reemplazan por el extremo SearchDestinations de la API de Geocoding v4:

  • Entradas
  • Puntos de navegación
  • Contornos de edificios
  • Terrenos

Si usabas la API de Geocoding v3 para las funciones anteriores, usa este documento para obtener ayuda y usar el extremo de SearchDestinations en su lugar para obtener estas funciones. En este documento, se explica en qué parte de la respuesta de la API de SearchDestinations se encuentran estas funciones y las diferencias en la forma en que se representan en las respuestas de la API entre la API de Geocoding v3 y el extremo de SearchDestinations de la API de Geocoding v4.

Entradas

Para obtener las entradas asociadas a un destination, usa el campo destination.entrances.

Ten en cuenta que el formato de un entrance es ligeramente diferente del formato de entrada en la API de Geocoding v3. Cada entrada en destination.entrances tiene los siguientes campos:

  • displayName: Es un nuevo campo opcional que tendrá un nombre legible para la entrada, por ejemplo, "Puerta B".
  • location: Es una ubicación de tipo LatLng, que es diferente del formato que se usa en la API de Geocoding v3.
  • tags: Es igual que el campo tags de las entradas de la API de Geocoding v3.
  • place: Es análogo al campo buildingPlaceId de las entradas de la API de Geocoding v3. Sin embargo, el ID de lugar en este campo podría ser para un lugar de cualquier tipo, no necesariamente solo un edificio.

Para obtener los puntos de navegación asociados con un destination, usa el campo destination.navigationPoints.

Ten en cuenta que el formato de un navigationPoint es ligeramente diferente del formato de punto de navegación en la API de Geocoding v3. Cada punto de navegación en destination.navigationPoints tiene los siguientes campos:

  • displayName: Es un nuevo campo opcional que tendrá un nombre legible para el punto de navegación, por ejemplo, “5th Ave”.
  • location: Es una ubicación de tipo LatLng, que es diferente del formato que se usa en la API de Geocoding v3.
  • travelModes: Es similar al campo restrictedTravelModes de los puntos de navegación de la API de Geocoding v3. Los valores de enumeración posibles son los mismos. La única diferencia es que este campo ahora representa los modos de viaje aceptables para el punto de navegación, en lugar de los modos de viaje restringidos.
  • usage: Es un campo nuevo que contiene los casos de uso admitidos por el punto de navegación. Ten en cuenta que la mayoría de los puntos de navegación tendrán un uso de UNKNOWN, pero eso no significa necesariamente que el uso del punto de navegación esté restringido de alguna manera.

Contornos de edificios

Para obtener los esquemas de los edificios asociados a un objeto destination, debes usar el campo displayPolygon de los objetos placeView en el objeto destination que representan edificios. Para cada placeView, puedes verificar si es un edificio con el campo placeView.structureType. Si el tipo de estructura es BUILDING, puedes obtener el esquema del campo placeView.displayPolygon. El objeto placeView también tendrá campos adicionales para el edificio que no estaban en la API de Geocoding v3.

Un objeto destination puede tener un objeto placeView que represente un edificio en los siguientes campos:

  • destination.primary: Es el lugar principal del destino.
  • destination.containingPlaces: Es un campo repetido que puede contener lugares más grandes que "contienen" el lugar principal. Por ejemplo, si el lugar principal es un subpremise, containingPlaces suele contener el placeView que representa el edificio.
  • destination.subDestinations: Es un campo repetido que puede contener subdestinos del lugar principal. Por ejemplo, las unidades de departamentos individuales de un edificio. Por lo general, este campo no tendrá un placeView que represente un edificio.

Ten en cuenta que el formato de placeView.displayPolygon coincide con el formato de contorno de edificios en la API de Geocoding v3, que es el formato GeoJSON, con el formato RFC 7946.

Terrenos

Al igual que con los esquemas de edificios, para obtener los terrenos asociados a un destination, debes usar el campo displayPolygon de los objetos placeView en el destination que representan terrenos. Para cada placeView, puedes verificar si es un motivo con el campo placeView.structureType. Si el tipo de estructura es GROUNDS, puedes obtener el esquema del campo placeView.displayPolygon. El objeto placeView también tendrá campos adicionales para los motivos que no se encontraban en la API de Geocoding v3.

Un objeto destination puede tener un objeto placeView que represente un motivo en los siguientes campos:

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

Ten en cuenta que el formato de placeView.displayPolygon coincide con el formato de esquema de terrenos en la API de Geocoding v3, que es el formato GeoJSON, con el formato RFC 7946.

Usa una máscara de campo para solicitar estas funciones

El extremo SearchDestinations requiere una máscara de campo, como se explica en Cómo elegir los campos que se devolverán. La máscara de campo se puede establecer en * para devolver todos los campos, o bien puedes establecerla en los campos específicos que deseas recibir. Por ejemplo, la siguiente solicitud a la API establece la máscara de campo para recibir todos los campos necesarios para obtener las entradas, los puntos de navegación, los esquemas de los edificios y los terrenos de un destino:

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