Solicitudes de Elevation
Las solicitudes a la API de Elevation se construyen como una cadena de URL. La API devuelve datos de elevación para ubicaciones en la Tierra. Puedes especificar los datos de ubicación de una de las siguientes dos maneras:
- Como un conjunto de uno o más
locations - Como una serie de puntos conectados a lo largo de una
path.
Cualquiera de estos enfoques usa coordenadas de latitud y longitud para identificar las ubicaciones o los vértices de la ruta. En este documento, se describe el formato requerido de las URLs de la API de Elevation y los parámetros disponibles.
La API de Elevation devuelve datos para consultas de un solo punto con la mayor precisión posible. Las consultas por lotes que involucran varias ubicaciones pueden devolver datos con menor precisión, en especial si las ubicaciones están muy separadas, ya que se produce un cierto suavizado de los datos.
Una solicitud a la API de Elevation tiene el siguiente formato:
https://maps.googleapis.com/maps/api/elevation/outputFormat?parameters
donde outputFormat puede ser cualquiera de los siguientes valores:
json(recomendado), indica el resultado en JavaScript Object Notation (JSON).xml, indica que el resultado está en XML, incluido dentro de un nodo<ElevationResponse>.
Nota: Las URLs deben estar codificadas correctamente para ser válidas y están limitadas a 16,384 caracteres en todos los servicios web. Ten en cuenta este límite cuando construyas tus URLs. Ten en cuenta que diferentes navegadores, proxies y servidores también pueden tener diferentes límites de caracteres en las URLs.
Se requiere HTTPS para las solicitudes que usan una clave de API.
Parámetros de solicitud
Las solicitudes a la API de Elevation utilizan diferentes parámetros según si la solicitud es para ubicaciones discretas o para una ruta ordenada. En el caso de ubicaciones discretas, las solicitudes de elevación devuelven datos sobre las ubicaciones específicas que se pasaron en la solicitud. En el caso de las rutas, las solicitudes de elevación se muestrean a lo largo de la ruta determinada.
Tal como es práctica estándar en todas las URLs, los parámetros se separan con el signo et (&). A continuación, se indica la lista de parámetros y sus posibles valores.
Todas las solicitudes
key: (Obligatorio) Es la clave de API de tu aplicación. Esta clave identifica tu aplicación a los efectos de la administración de cuotas. Obtén más información para obtener una clave.
Solicitudes posicionales
locations(obligatorio) define las ubicaciones de la Tierra a partir de las cuales se muestran los datos de elevación. Este parámetro toma una sola ubicación como un par {latitud, longitud} separado por comas (p.ej., "40.714728,-73.998672") o varios pares de latitud y longitud que se pasan como un array o como una polilínea codificada. Este parámetro específico tiene un límite de 512 puntos. Para obtener más información, consulta Cómo especificar ubicaciones a continuación.
Solicitudes de rutas muestreadas
path(obligatorio) define una ruta en la Tierra para la cual se deben mostrar datos de elevación. Este parámetro define un conjunto de dos o más pares ordenados {latitud,longitud} que definen una ruta a lo largo de la superficie de la Tierra. Este parámetro se debe usar junto con el parámetrosamplesque se describe a continuación. Este parámetro específico tiene un límite de 512 puntos. Para obtener más información, consulta Cómo especificar rutas de acceso a continuación.samples(obligatorio): Especifica la cantidad de puntos de muestra a lo largo de una ruta para la que se muestran datos de elevación. El parámetrosamplesdivide el objetopathdeterminado en un conjunto ordenado de puntos equidistantes a lo largo de la ruta.
Especifica ubicaciones
Las solicitudes posicionales se indican con el parámetro locations, que indica solicitudes de elevación para las ubicaciones específicas que se pasan como valores de latitud y longitud.
El parámetro locations puede tomar los siguientes argumentos:
- Una sola coordenada:
locations=40.714728,-73.998672 - Es un array de coordenadas separadas con el carácter de barra vertical (“
|”):locations=40.714728,-73.998672|-34.397,150.644 - Es un conjunto de coordenadas codificadas con el algoritmo de polilínea codificada:
locations=enc:gfo}EtohhU
Las cadenas de coordenadas de latitud y longitud se definen con números dentro de una cadena de texto separada por comas. Por ejemplo, "40.714728,-73.998672" es un valor de locations válido. Los valores de latitud y longitud deben corresponder a una ubicación válida en la superficie de la Tierra. Las latitudes pueden tomar cualquier valor entre -90 y 90, mientras que las longitudes pueden tomar cualquier valor entre -180 y 180. Si especificas un valor de latitud o longitud no válido, tu solicitud se rechazará como una solicitud incorrecta.
Puedes pasar hasta 512 coordenadas dentro de un array o una polilínea codificada y, al mismo tiempo, construir una URL válida. Ten en cuenta que, cuando se pasan varias coordenadas, la precisión de los datos devueltos puede ser inferior que cuando se solicitan datos para una sola coordenada. Si se superan los 512 puntos o coordenadas en los parámetros "locations" o "path", se devuelve una respuesta INVALID_REQUEST.
Cómo especificar rutas
Las solicitudes de rutas muestreadas se indican con los parámetros path y samples, que indican una solicitud de datos de elevación a lo largo de una ruta en intervalos especificados. Al igual que con las solicitudes posicionales que usan el parámetro locations, el parámetro path especifica un conjunto de valores de latitud y longitud. Sin embargo, a diferencia de una solicitud posicional, la path especifica un conjunto ordenado de vértices. En lugar de devolver datos de elevación solo en los vértices, las solicitudes de ruta se muestrean a lo largo de la ruta, según la cantidad de samples especificada (incluidos los extremos).
El parámetro path puede tomar cualquiera de los siguientes argumentos:
- Es un array de dos o más cadenas de texto de coordenadas separadas por comas y el carácter de barra vertical (“
|”):path=40.714728,-73.998672|-34.397,150.644 - Coordenadas codificadas con el algoritmo de polilínea codificada:
path=enc:gfo}EtohhUxD@bAxJmGF
Las cadenas de coordenadas de latitud y longitud se definen con números dentro de una cadena de texto separada por comas. Por ejemplo, "40.714728,-73.998672|-34.397,150.644" es un valor de path válido. Los valores de latitud y longitud deben corresponder a una ubicación válida en la superficie de la Tierra. Las latitudes pueden tomar cualquier valor entre -90 y 90, mientras que las longitudes pueden tomar cualquier valor entre -180 y 180. Si especificas un valor de latitud o longitud no válido, tu solicitud se rechazará como una solicitud incorrecta.
Puedes pasar hasta 512 coordenadas dentro de un array o una polilínea codificada y, al mismo tiempo, construir una URL válida. Ten en cuenta que, cuando se pasan varias coordenadas, la precisión de los datos devueltos puede ser inferior que cuando se solicitan datos para una sola coordenada. Si se superan los 512 puntos o coordenadas en los parámetros "locations" o "path", se devuelve una respuesta INVALID_REQUEST.
Respuestas de Elevation
- Es un array de dos o más cadenas de texto de coordenadas separadas por comas y el carácter de barra vertical (“
|”):path=40.714728,-73.998672|-34.397,150.644 - Coordenadas codificadas con el algoritmo de polilínea codificada:
path=enc:gfo}EtohhUxD@bAxJmGF
Las cadenas de coordenadas de latitud y longitud se definen con números dentro de una cadena de texto separada por comas. Por ejemplo, "40.714728,-73.998672|-34.397,150.644" es un valor de path válido. Los valores de latitud y longitud deben corresponder a una ubicación válida en la superficie de la Tierra. Las latitudes pueden tomar cualquier valor entre -90 y 90, mientras que las longitudes pueden tomar cualquier valor entre -180 y -180. Si especificas un valor de latitud o longitud no válido, tu solicitud se rechazará como una solicitud incorrecta.
Puedes pasar hasta 512 coordenadas dentro de un array o una polilínea codificada y, al mismo tiempo, construir una URL válida. Ten en cuenta que, cuando se pasan varias coordenadas, la precisión de los datos devueltos puede ser inferior que cuando se solicitan datos para una sola coordenada. Si se superan los 512 puntos o coordenadas en los parámetros "locations" o "path", se devuelve una respuesta INVALID_REQUEST.
Respuestas de Elevation
Para cada solicitud válida, el servicio Elevation devuelve una respuesta de Elevation en el formato indicado en la URL de la solicitud.
ElevationResponse
| Campo | Obligatorio | Tipo | Descripción |
|---|---|---|---|
|
required | Arreglo<ElevationResult> | Consulta ElevationResult para obtener más información. |
|
required | ElevationStatus | Consulta ElevationStatus para obtener más información. |
|
opcional | string |
Cuando el servicio devuelve un código de estado que no es |
ElevationStatus
Son los códigos de estado que muestra el servicio.
OK, que indica que la solicitud a la API se realizó correctamente.DATA_NOT_AVAILABLEque indica que no hay datos disponibles para las ubicaciones de entrada.INVALID_REQUESTindica que la solicitud a la API no tiene el formato correcto.OVER_DAILY_LIMITque indica cualquiera de las siguientes opciones:- Falta la clave de API o no es válida.
- La facturación no está habilitada en tu cuenta.
- Se superó un límite de uso autoimpuesto.
- La forma de pago proporcionada ya no es válida (por ejemplo, si venció una tarjeta de crédito).
OVER_QUERY_LIMIT: Indica que el solicitante superó la cuota.REQUEST_DENIED: Indica que la API no completó la solicitud.UNKNOWN_ERROR: Indica un error desconocido.
Cuando el código de estado no es OK, es posible que haya un campo error_message adicional dentro del objeto de respuesta Elevation. Este campo contiene información más detallada sobre los motivos del código de estado determinado.
La respuesta contiene un array results con los siguientes elementos:
ElevationResult
| Campo | Obligatorio | Tipo | Descripción |
|---|---|---|---|
|
required | número |
Elevación de la ubicación en metros. |
|
required | LatLngLiteral |
Un elemento de ubicación de la posición para la que se calculan los datos de elevación. Ten en cuenta que, para las solicitudes de ruta, el conjunto de elementos de ubicación contendrá los puntos de muestreo a lo largo de la ruta. Consulta LatLngLiteral para obtener más información. |
|
opcional | número |
Es el valor que indica la distancia máxima en metros entre los puntos de datos a partir de los cuales se interpoló la elevación. Esta propiedad estará ausente si se desconoce la resolución. Ten en cuenta que los datos de elevación se vuelven menos precisos (valores de resolución más grandes) cuando se pasan varios puntos. Para obtener el valor de elevación más preciso para un punto, se debe realizar una consulta independiente. |
LatLngLiteral
Es un objeto que describe una ubicación específica con latitud y longitud en grados decimales.
| Campo | Obligatorio | Tipo | Descripción |
|---|---|---|---|
|
required | número |
Latitud en grados decimales |
|
required | número |
Longitud en grados decimales |
Ejemplos de elevación posicional
En el siguiente ejemplo, se solicita la elevación de Denver, Colorado, la "ciudad a una milla de altura":
URL
https://maps.googleapis.com/maps/api/elevation/json
?locations=39.7391536%2C-104.9847034
&key=YOUR_API_KEY
cURL
curl -L -X GET 'https://maps.googleapis.com/maps/api/elevation/json?locations=39.7391536%2C-104.9847034&key=YOUR_API_KEY'
JSON
{ "results": [ { "elevation": 1608.637939453125, "location": { "lat": 39.7391536, "lng": -104.9847034 }, "resolution": 4.771975994110107, }, ], "status": "OK", }
XML
<ElevationResponse> <status>OK</status> <result> <location> <lat>39.7391536</lat> <lng>-104.9847034</lng> </location> <elevation>1608.6379395</elevation> <resolution>4.7719760</resolution> </result> </ElevationResponse>
En el siguiente ejemplo, se muestran varias respuestas (para Denver, Colorado y para Death Valley, California).
En esta solicitud, se muestra el uso de la marca output de JSON:
URL
https://maps.googleapis.com/maps/api/elevation/json
?locations=39.7391536%2C-104.9847034%7C36.455556%2C-116.866667
&key=YOUR_API_KEY
cURL
curl -L -X GET 'https://maps.googleapis.com/maps/api/elevation/json?locations=39.7391536%2C-104.9847034%7C36.455556%2C-116.866667&key=YOUR_API_KEY'
En esta solicitud, se muestra el uso de la marca output en XML:
https://maps.googleapis.com/maps/api/elevation/xml?locations=39.7391536,-104.9847034|36.455556,-116.866667&key=YOUR_API_KEY
Selecciona las pestañas a continuación para ver las respuestas de muestra en JSON y XML.
JSON
{ "results": [ { "elevation": 1608.637939453125, "location": { "lat": 39.7391536, "lng": -104.9847034 }, "resolution": 4.771975994110107, }, { "elevation": -52.79492568969727, "location": { "lat": 36.455556, "lng": -116.866667 }, "resolution": 19.08790397644043, }, ], "status": "OK", }
XML
<ElevationResponse> <status>OK</status> <result> <location> <lat>39.7391536</lat> <lng>-104.9847034</lng> </location> <elevation>1608.6379395</elevation> <resolution>4.7719760</resolution> </result> <result> <location> <lat>36.4555560</lat> <lng>-116.8666670</lng> </location> <elevation>-52.7949257</elevation> <resolution>19.0879040</resolution> </result> </ElevationResponse>
En los siguientes ejemplos, se solicitan datos de elevación a lo largo de una línea recta path desde el monte Whitney, California, hasta Badwater, California, los puntos más alto y más bajo de Estados Unidos continentales. Te pedimos tres samples, por lo que se incluirán los dos extremos y el punto medio.
URL
https://maps.googleapis.com/maps/api/elevation/json ?path=36.578581%2C-118.291994%7C36.23998%2C-116.83171 &samples=3 &key=YOUR_API_KEY
cURL
curl -L -X GET 'https://maps.googleapis.com/maps/api/elevation/json?path=36.578581%2C-118.291994%7C36.23998%2C-116.83171&samples=3&key=YOUR_API_KEY'
JSON
{ "results": [ { "elevation": 4411.94189453125, "location": { "lat": 36.578581, "lng": -118.291994 }, "resolution": 19.08790397644043, }, { "elevation": 1372.8359375, "location": { "lat": 36.41150289067028, "lng": -117.5602607523847 }, "resolution": 9.543951988220215, }, { "elevation": -84.51690673828125, "location": { "lat": 36.23998, "lng": -116.83171 }, "resolution": 9.543951988220215, }, ], "status": "OK", }
XML
<ElevationResponse> <status>OK</status> <result> <location> <lat>36.5785810</lat> <lng>-118.2919940</lng> </location> <elevation>4411.9418945</elevation> <resolution>19.0879040</resolution> </result> <result> <location> <lat>36.4115029</lat> <lng>-117.5602608</lng> </location> <elevation>1372.8359375</elevation> <resolution>9.5439520</resolution> </result> <result> <location> <lat>36.2399800</lat> <lng>-116.8317100</lng> </location> <elevation>-84.5169067</elevation> <resolution>9.5439520</resolution> </result> </ElevationResponse>