Richieste di elevazione
Le richieste dell'API Elevation vengono create come stringa URL. L'API restituisce i dati altimetrici per le località sulla Terra. Specifichi i dati sulla posizione in uno dei due modi seguenti:
- Come insieme di uno o più
locations. - Come una serie di punti collegati lungo un
path.
Entrambi gli approcci utilizzano le coordinate di latitudine/longitudine per identificare le posizioni o i vertici del percorso. Questo documento descrive il formato richiesto degli URL dell'API Elevation e i parametri disponibili.
L'API Elevation restituisce dati per query a punto singolo con la massima precisione possibile. Le query batch che coinvolgono più località potrebbero restituire dati con minore precisione, soprattutto se le località sono distanti tra loro, poiché si verifica un'attenuazione dei dati.
Una richiesta dell'API Elevation ha il seguente formato:
https://maps.googleapis.com/maps/api/elevation/outputFormat?parameters
dove outputFormat può avere uno dei seguenti valori:
json(opzione consigliata), indica l'output in JavaScript Object Notation (JSON) oppurexml, indica l'output in XML, racchiuso in un nodo<ElevationResponse>.
Nota: gli URL devono essere codificati correttamente per essere validi e sono limitati a 16.384 caratteri per tutti i servizi web. Tieni presente questo limite quando crei gli URL. Tieni presente che anche browser, proxy e server diversi potrebbero avere limiti di caratteri diversi per gli URL.
HTTPS è obbligatorio per le richieste che utilizzano una chiave API.
Parametri di richiesta
Le richieste all'API Elevation utilizzano parametri diversi a seconda che la richiesta riguardi località discrete o un percorso ordinato. Per le località discrete, le richieste di elevazione restituiscono dati sulle località specifiche trasmesse nella richiesta; per i percorsi, le richieste di elevazione vengono invece campionate lungo il percorso specificato.
Come di consueto in tutti gli URL, i parametri sono separati
utilizzando il carattere e commerciale (&). L'elenco dei parametri
e i relativi valori possibili sono indicati di seguito.
Tutte le richieste
key: (obbligatorio) la chiave API della tua applicazione. Questa chiave identifica la tua applicazione ai fini della gestione delle quote. Scopri come ottenere una chiave.
Richieste posizionali
locations(obbligatorio) definisce la posizione o le posizioni sulla Terra da cui restituire i dati di elevazione. Questo parametro accetta una singola posizione come coppia {latitudine,longitudine} separata da virgole (ad es. "40.714728,-73.998672") o più coppie di latitudine/longitudine passate come array o come polilinea codificata. Esiste un limite di 512 punti per questo parametro specifico. Per saperne di più, consulta Specificare le località di seguito.
Richieste di percorso campionate
path(obbligatorio) definisce un percorso sulla terra per cui restituire i dati di elevazione. Questo parametro definisce un insieme di due o più coppie ordinate {latitudine,longitudine} che definiscono un percorso lungo la superficie della Terra. Questo parametro deve essere utilizzato insieme al parametrosamplesdescritto di seguito. Esiste un limite di 512 punti per questo parametro specifico. Per saperne di più, vedi Specificare i percorsi di seguito.samples(obbligatorio) specifica il numero di punti di campionamento lungo un percorso per i quali restituire i dati di elevazione. Il parametrosamplesdivide ilpathdato in un insieme ordinato di punti equidistanti lungo il percorso.
Specificare le posizioni
Le richieste posizionali sono indicate tramite l'utilizzo del
parametro locations, che indica le richieste di elevazione
per le posizioni specifiche trasmesse come
valori di latitudine/longitudine.
Il parametro locations può accettare i seguenti
argomenti:
- Una singola coordinata:
locations=40.714728,-73.998672 - Un array di coordinate separate utilizzando il carattere barra verticale ("
|"):locations=40.714728,-73.998672|-34.397,150.644 - Un insieme di coordinate codificate utilizzando l'algoritmo di codifica polilinee:
locations=enc:gfo}EtohhU
Le stringhe di coordinate di latitudine e longitudine sono definite utilizzando numeri
all'interno di una stringa di testo separata da virgole. Ad esempio, "40.714728,-73.998672"
è un valore locations valido. I valori di latitudine e
longitudine devono corrispondere a una posizione valida
sulla superficie terrestre. Le latitudini possono assumere qualsiasi valore compreso tra -90 e 90, mentre le longitudini possono assumere qualsiasi valore compreso tra -180 e 180. Se specifichi
un valore di latitudine o longitudine non valido, la richiesta verrà rifiutata
come richiesta non valida.
Puoi passare fino a 512 coordinate all'interno di un array o di una polilinea codificata, continuando a creare un URL valido. Tieni presente che quando vengono passate più coordinate, la
precisione di tutti i dati restituiti potrebbe essere di risoluzione inferiore rispetto a quando vengono richiesti
dati per una singola coordinata. Il superamento di 512 punti o coordinate nei parametri
"locations" o "path" restituisce una risposta INVALID_REQUEST.
Specificare i percorsi
Le richieste di percorso campionate sono indicate tramite l'utilizzo dei parametri path
e samples, che indicano una richiesta di dati di elevazione
lungo un percorso a intervalli specificati. Come per le richieste posizionali che utilizzano il parametro
locations, il parametro path specifica
un insieme di valori di latitudine e longitudine. A differenza di una richiesta posizionale, tuttavia, path specifica un insieme ordinato di vertici. Anziché restituire
dati di elevazione solo ai vertici, le richieste di percorso vengono campionate lungo
la lunghezza del percorso, in base al numero di samples
specificato (inclusi i punti di partenza e di arrivo).
Il parametro path può accettare uno dei seguenti
argomenti:
- Un array di due o più stringhe di testo di coordinate separate da virgole e
dal carattere barra verticale ("
|"):path=40.714728,-73.998672|-34.397,150.644 - Coordinate codificate utilizzando l'algoritmo
Encoded Polyline:
path=enc:gfo}EtohhUxD@bAxJmGF
Le stringhe di coordinate di latitudine e longitudine sono definite utilizzando numeri all'interno di una
stringa di testo separata da virgole. Ad esempio, "40.714728,-73.998672|-34.397,
150.644" è un valore path valido. I valori di latitudine e longitudine devono corrispondere
a una posizione valida sulla Terra. Le latitudini possono assumere qualsiasi valore
compreso tra -90 e 90, mentre le longitudini possono assumere qualsiasi valore compreso tra -180
e 180. Se specifichi un valore di latitudine o longitudine non valido, la richiesta
verrà rifiutata in quanto non valida.
Puoi passare fino a 512 coordinate all'interno di un array o di una polilinea codificata, continuando a creare un URL valido. Tieni presente che quando vengono passate più coordinate, la
precisione di tutti i dati restituiti potrebbe essere di risoluzione inferiore rispetto a quando vengono richiesti
dati per una singola coordinata. Il superamento di 512 punti o coordinate nei parametri
"locations" o "path" restituisce una risposta INVALID_REQUEST.
Risposte sull'altitudine
- Un array di due o più stringhe di testo di coordinate separate da virgole e
dal carattere barra verticale ("
|"):path=40.714728,-73.998672|-34.397,150.644 - Coordinate codificate utilizzando l'algoritmo
Encoded Polyline:
path=enc:gfo}EtohhUxD@bAxJmGF
Le stringhe di coordinate di latitudine e longitudine sono definite utilizzando numeri all'interno di una
stringa di testo separata da virgole. Ad esempio, "40.714728,-73.998672|-34.397,
150.644" è un valore path valido. I valori di latitudine e longitudine devono corrispondere
a una posizione valida sulla Terra. Le latitudini possono assumere qualsiasi valore
compreso tra -90 e 90, mentre le longitudini possono assumere qualsiasi valore compreso tra -180
e -180. Se specifichi un valore di latitudine o longitudine non valido, la richiesta
verrà rifiutata in quanto non valida.
Puoi passare fino a 512 coordinate all'interno di un array o di una polilinea codificata, continuando a creare un URL valido. Tieni presente che quando vengono passate più coordinate, la
precisione di tutti i dati restituiti potrebbe essere di risoluzione inferiore rispetto a quando vengono richiesti
dati per una singola coordinata. Il superamento di 512 punti o coordinate nei parametri
"locations" o "path" restituisce una risposta INVALID_REQUEST.
Risposte sull'altitudine
Per ogni richiesta valida, il servizio Elevation restituisce una risposta Elevation nel formato indicato nell'URL della richiesta.
ElevationResponse
| Campo | Obbligatorio | Tipo | Descrizione |
|---|---|---|---|
|
obbligatorio | Array<ElevationResult> | Per ulteriori informazioni, consulta ElevationResult. |
|
obbligatorio | ElevationStatus | Per ulteriori informazioni, consulta ElevationStatus. |
|
facoltativo | stringa |
Quando il servizio restituisce un codice di stato diverso da |
ElevationStatus
Codici di stato restituiti dal servizio.
OKche indica che la richiesta API è andata a buon fine.DATA_NOT_AVAILABLEche indica che non sono disponibili dati per le località inserite.INVALID_REQUESTche indica che la richiesta API non è corretta.OVER_DAILY_LIMITche indica una delle seguenti opzioni:- La chiave API è mancante o non valida.
- La fatturazione non è stata abilitata sul tuo account.
- È stato superato un limite di utilizzo autoimposto.
- Il metodo di pagamento fornito non è più valido (ad esempio, una carta di credito è scaduta).
OVER_QUERY_LIMITche indica che il richiedente ha superato la quota.REQUEST_DENIEDche indica che l'API non ha completato la richiesta.UNKNOWN_ERRORche indica un errore sconosciuto.
Quando il codice di stato è diverso da OK, potrebbe essere presente un campo
error_message aggiuntivo all'interno dell'oggetto risposta Elevation. Questo campo contiene
informazioni più dettagliate sui motivi alla base del codice di stato specificato.
La risposta contiene un array results con i seguenti elementi:
ElevationResult
| Campo | Obbligatorio | Tipo | Descrizione |
|---|---|---|---|
|
obbligatorio | numero |
L'altitudine della posizione in metri. |
|
obbligatorio | LatLngLiteral |
Un elemento di posizione per il quale vengono calcolati i dati di elevazione. Tieni presente che per le richieste di percorso, l'insieme di elementi di posizione conterrà i punti campionati lungo il percorso. Per saperne di più, consulta LatLngLiteral. |
|
facoltativo | numero |
Il valore che indica la distanza massima tra i punti dati da cui è stata interpolata l'elevazione, in metri. Questa proprietà non sarà presente se la risoluzione non è nota. Tieni presente che i dati sull'elevazione diventano più grossolani (valori di risoluzione più grandi) quando vengono passati più punti. Per ottenere il valore di elevazione più preciso per un punto, deve essere interrogato in modo indipendente. |
LatLngLiteral
Un oggetto che descrive una posizione specifica con latitudine e longitudine in gradi decimali.
| Campo | Obbligatorio | Tipo | Descrizione |
|---|---|---|---|
|
obbligatorio | numero |
Latitudine in gradi decimali |
|
obbligatorio | numero |
Longitudine in gradi decimali |
Esempi di elevazione posizionale
L'esempio seguente richiede l'altitudine di Denver, Colorado, la "Mile High City":
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>
L'esempio seguente mostra più risposte (per Denver, CO e per Death Valley, CA).
Questa richiesta mostra l'utilizzo del flag JSON output:
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'
Questa richiesta mostra l'utilizzo del flag XML output:
https://maps.googleapis.com/maps/api/elevation/xml?locations=39.7391536,-104.9847034|36.455556,-116.866667&key=YOUR_API_KEY
Seleziona le schede di seguito per visualizzare le risposte JSON e XML di esempio.
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>
I seguenti esempi richiedono dati di elevazione lungo una linea retta
path dal Monte Whitney, in California, a Badwater, in California, i punti più alto e
più basso degli Stati Uniti continentali. Chiediamo tre
samples, quindi includeremo i due endpoint e il
punto a metà percorso.
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>