Cómo especificar las ubicaciones de una ruta

Para calcular una ruta, debes especificar, como mínimo, sus ubicaciones el origen y el destino de la ruta. Estas ubicaciones se definen como puntos de referencia en la ruta.

Además de origen y destino, puedes especificar diferentes tipos de y cómo manejarlos para una ruta. Para obtener más información y ejemplos, consulta los siguientes temas:

Cómo especificar ubicaciones para una ruta

Para representar una ubicación, debes crear un Punto de referencia (REST). o Waypoint (gRPC). En la definición de punto de referencia, puedes especificar una ubicación de las siguientes maneras:

Puedes especificar ubicaciones para todos los puntos de referencia en una solicitud de la misma manera, o combinarlos. Por ejemplo, puedes usar coordenadas de latitud y longitud para el punto de referencia de origen y usar un ID de lugar para el punto de referencia de destino.

Para mejorar la eficiencia y la precisión, usa los IDs de lugar en lugar de los campos de latitud y longitud. coordenadas o cadenas de dirección. Los IDs de lugar son exclusivamente explícitos y proporcionan beneficios de geocodificación para el enrutamiento, como los puntos de acceso y las variables de tráfico. Ellas evitar las siguientes situaciones que pueden resultar de otras formas de especificar una ubicación:

  • El uso de coordenadas de latitud y longitud puede hacer que la ubicación ajustado a la ruta más cercana a esas coordenadas, que podría no ser un punto de acceso a la propiedad o incluso a una ruta que lleva al destino.
  • Para convertir las cadenas de dirección, la API de Routes debe geocodificar primero las cadenas de direcciones. a coordenadas de latitud y longitud antes de poder calcular una ruta. Esta conversión puede afectar el rendimiento.

Cómo especificar una ubicación como un ID de lugar

Puedes usar un ID de lugar para especificar la ubicación de un punto de referencia. Porque coordenadas de latitud y longitud se ajustan a las rutas, es posible que encuentres El ID de lugar ofrece mejores resultados en algunas circunstancias.

Recuperar los IDs de lugar de la API de Geocoding y la API de Places (incluida la autocompletar). Para obtener más información sobre los IDs de lugar, consulta la Descripción general del ID de lugar.

En el siguiente ejemplo, se usa la propiedad placeId para pasar un ID de lugar para ambos origin y destination:

{
  "origin":{
    "placeId": "ChIJayOTViHY5okRRoq2kGnGg8o"
  },
  "destination":{
    "placeId": "ChIJTYKK2G3X5okRgP7BZvPQ2FU"
  },
  ...
}

Cómo especificar una ubicación como coordenadas de latitud y longitud

Para definir la ubicación en un punto de referencia, especifica la Ubicación (REST) o Location(gRPC) mediante coordenadas de latitud y longitud.

Por ejemplo, especifica un punto de referencia para la ruta origin y destination. con las coordenadas latitude y longitude:

{
  "origin":{
    "location":{
      "latLng":{
        "latitude": 37.419734,
        "longitude": -122.0827784
      }
    }
  },
  "destination":{
    "location":{
      "latLng":{
        "latitude": 37.417670,
        "longitude": -122.079595
      }
    }
  },
...
}

Especifica una ubicación como una cadena de dirección

Las cadenas de dirección son direcciones literales representadas por una cadena (como Amphitheatre Parkway, Mountain View, CA"). La geocodificación es el proceso al convertir una cadena de dirección en coordenadas de latitudes y longitudes (como latitud 37.423021 y longitud -122.083739).

Cuando pasas una cadena de dirección como la ubicación de un punto de referencia, la API de Routes geocodifica internamente la cadena para convertirla a latitud y longitud coordenadas.

Por ejemplo, para calcular una ruta, debes especificar un punto de referencia para la ruta origin y destination con cadenas de dirección:

{
  "origin":{
    "address": "1600 Amphitheatre Parkway, Mountain View, CA"
  },
  "destination":{
    "address": "450 Serra Mall, Stanford, CA 94305, USA"
  },
  ...
}

En este ejemplo, la API de Routes geocodifica ambas direcciones para convertirlas en coordenadas de latitud y longitud.

Si el valor de la dirección es ambiguo, la API de Routes podría invocar una búsqueda para para diferenciar de direcciones similares. Por ejemplo, "Calle 1" podría ser un valor completo o valor parcial para "1st street NE" o “1st St SE”. Esta el resultado puede ser diferente del que devuelve la API de Geocoding. Puedes evitar posibles malinterpretaciones con los IDs de lugar.

Establece la región de la dirección.

Si pasas una cadena de dirección incompleta como la ubicación de un punto de referencia, la API podría usar coordenadas de latitud y longitud geocodificadas incorrectamente. Por ejemplo: realizas una solicitud en la que se especifica "Toledo" como origen y "Madrid" como destino de una ruta en automóvil:

{
  "origin":{
    "address": "Toledo"
  },
  "destination":{
    "address": "Madrid"
  },
  "travelMode": "DRIVE"
}

En este ejemplo, "Toledo" se interpreta como una ciudad en el estado de Ohio en Estados Unidos, pero no en España. Por lo tanto, la solicitud devuelve un array vacío, lo que significa que no existe ninguna ruta:

{
  []
}

Puedes configurar la API para que devuelva resultados personalizados según una región en particular incluido el parámetro regionCode. Este parámetro especifica el código de región como un ccTLD ("dominio de nivel superior") un valor de dos caracteres. La mayoría de los códigos ccTLD son idénticos a los códigos ISO 3166-1, con excepciones notables. Por ejemplo, el ccTLD del Reino Unido es "uk" (.co.uk), mientras que el código ISO 3166-1 es "gb" (técnicamente para la entidad de "The "The Reino Unido de Gran Bretaña e Irlanda del Norte").

Una solicitud de instrucciones sobre cómo llegar para "Toledo" a "Madrid" que incluya regionCode muestra los resultados adecuados porque "Toledo" se interpreta como un ciudad de España:

{
  "origin":{
    "address": "Toledo"
  },
  "destination":{
    "address": "Madrid"
  },
  "travelMode": "DRIVE",
  "regionCode": "es"
}

La respuesta ahora contiene la ruta calculada desde Toledo, España, Madrid, España:

{
  "routes": [
    {
      "distanceMeters": 75330,
      "duration": "4137s",
      ...
    }
  ]
}

Especifica una ubicación como Plus Code

Muchas personas no tienen una dirección precisa, lo que puede dificultarles para recibir entregas. O bien, es posible que las personas con una dirección prefieran aceptar entregas en ubicaciones más específicas, como la entrada trasera o el lugar de carga de la estación de carga.

Los Plus Codes son como las direcciones de las personas o los lugares que no tienen un dirección real. En lugar de direcciones con nombres y números de calle, los Plus Codes se basan en coordenadas de latitud y longitud, y se muestran como números y letras.

Google desarrolló los Plus Codes. para brindar el beneficio de las direcciones a todo el mundo y a todo. Los Plus Codes son aquellos referencia de ubicación, derivada de coordenadas de latitud y longitud, que representa un área: 1/8000 de grado por 1/8000 de grado (alrededor de 14 m x 14 m en el ecuador) o menos. Puedes utilizar los Plus Codes como reemplazo de lo siguiente: direcciones en lugares donde no existen o donde los edificios no están están numeradas o las calles no tienen nombre.

Los Plus Codes deben tener el formato de un código global o compuesto:

  • Un código global se compone de un código de área de 4 caracteres y de seis un código local o un carácter más extenso.

    Por ejemplo, para la dirección "1600 Amphitheatre Parkway", Mountain View, CA", el código global es "849V" y el código local es “CWC8+R9”. Luego, utilizas todo el Plus Code de 10 caracteres para especificar la de ubicación de "849VCWC8+R9".

  • Un código compuesto se compone de 6 caracteres o más. local code combinado con una ubicación explícita.

    Por ejemplo, la dirección "450 Serra Mall, Stanford, CA 94305, EE.UU. tiene un código local “CRHJ+C3”. Para un compuesto combina el código local con la ciudad, el estado, el código postal y el país de la dirección con el formato “CRHJ+C3 Stanford, CA 94305, EE.UU.”.

    Por ejemplo, calcula una ruta especificando un punto de referencia para la ruta origin. y destination utilizan los Plus Codes:

    {
      "origin":{
        "address": "849VCWC8+R9"
      },
      "destination":{
        "address": "CRHJ+C3 Stanford, CA 94305, USA"
      },
      "travelMode": "DRIVE"
    }

Los Plus Codes son compatibles con las APIs de Google Maps Platform, incluidas Place Autocomplete, Place Details, API de Directions API de Geocoding: Por ejemplo, puedes usar la API de Geocoding para aplicar la geocodificación inversa a un ubicación especificada por las coordenadas de latitud y longitud para determinar la Plus Code de la ubicación.