Yükseklik istekleri ve yanıtları

Yükseltme istekleri

Elevation API istekleri, bir URL dizesi olarak oluşturulur. API dünyadaki konumların rakım verilerini döndürür. Konum verilerini siz belirtirsiniz iki yöntemden biriyle ekleyebilirsiniz:

  • Bir veya daha fazla locations kümesi olarak.
  • path boyunca bir dizi bağlantı noktası olarak.

Bu yaklaşımların her ikisi de, doğru konumu tanımlamak için enlem/boylam koordinatlarını köşelerini belirleyin. Bu belgede, projenizin her bir parçası için Elevation API URL'leri ve kullanılabilir parametreler.

Elevation API, tek noktalı sorgular için veri döndürür mümkün olan en yüksek doğrulukla test edebilirsiniz. Birden fazla konum içeren toplu sorgular , özellikle de konumlar çok konumlara yayılmışsa, doğruluğu daha düşük olan veriler döndürebilir. arasındaki ayrımını ele alalım.

Elevation API isteği aşağıdaki biçimdedir:

https://maps.googleapis.com/maps/api/elevation/outputFormat?parameters

Bu örnekte outputFormat, aşağıdaki değerlerden biri olabilir:

  • json (önerilen), çıkışı şurada gösterir: JavaScript Object Notation (JSON); veya
  • xml, XML biçiminde çıkışı belirtir, <ElevationResponse> düğüm.

Not: URL'ler düzgün kodlanmış olmalıdır ve tüm web hizmetleri için 16.384 karakterle sınırlıdır. URL'lerinizi oluştururken bu sınıra dikkat edin. Farklı tarayıcılarda, proxy'ler ve sunucuların da farklı URL karakter sınırları olabilir.

API anahtarı kullanan istekler için HTTPS gereklidir.

İstek parametreleri

Elevation API'ye yapılan istekler farklı parametreler kullanır isteğe bağlı olarak ayrı ayrı konumlarda mı yoksa sıralı yol. Ayrık konumlar için, yükselti döndürme istekleri istekte iletilen belirli konumlarla ilgili veriler; yollar için Bunun yerine, yükseltme istekleri belirtilen yol boyunca örneklenir.

Tüm URL'lerde standart olduğu gibi parametreler, "ve" (&amp;) karakteri kullanılır. Parametrelerin listesi olası değerleri aşağıda belirtilmiştir.

Tüm istekler

  • key — (zorunlu) Uygulamanızın API anahtarı. Bu anahtar, kota yönetimi amacıyla uygulamanızı tanımlar. Nasıl anahtar alacağınızı öğrenin.

Konumsal istekler

  • locations (zorunlu), yükseklik verilerinin döndürüleceği dünyadır. Bu parametre virgülle ayrılmış {latitude,longitude} çifti olarak tek bir konum (örneğin, "40.714728,-73.998672") veya birden fazla enlem/boylam çifti bir dizi veya kodlanmış çoklu çizgi olarak geçirilir. 512 puan sınırı vardır. değerini girin. Daha fazla bilgi için Aşağıdaki Konumları Belirtme konusuna bakın.

Örneklenmiş yol istekleri

  • path (zorunlu), dünya üzerinde şunun için bir yol tanımlar: yükseklik verilerini döndürür. Bu parametre, iki ya da üçten oluşan bir kümeyi yüzey boyunca bir yol tanımlayan daha sıralı {latitude,longitude} çiftleri hoş geldiniz. Bu parametre, samples ile birlikte kullanılmalıdır parametresini kullanın. Bu için 512 puan sınırı vardır. parametredir. Daha fazla bilgi için aşağıdaki Yolları Belirtme konusuna bakın.
  • samples (zorunlu), örnek sayısını belirtir döndürülecek yükseklik verilerinin döndürüleceği bir yol üzerinde görüntüler. İlgili içeriği oluşturmak için kullanılan samples parametresi, belirtilen path değerini böler eşit mesafedeki noktalara bölündü.

Yer belirtme

Konumsal istekler Yükseltme isteklerini belirten locations parametresi olarak iletilen belirli konumlar için enlem/boylam değerleridir.

locations parametresi şunları alabilir: bağımsız değişkenler:

  • Tek bir koordinat: locations=40.714728,-73.998672
  • Dikey çizgi ("|") kullanılarak ayrılmış koordinat dizisi karakter: locations=40.714728,-73.998672|-34.397,150.644
  • Kodlanmış Çoklu Çizgi Algoritması: locations=enc:gfo}EtohhU

Enlem ve boylam koordinat dizeleri sayılar kullanılarak tanımlanır kullanabilirsiniz. Örneğin, "40.714728,-73.998672" geçerli bir locations değeridir. Enlem ve boylam değerleri geçerli bir konuma karşılık gelmelidir bir sürü şey var. Enlemler, -90 ve 90, ancak boylam değerleri -180 ile 180 arasında herhangi bir değer. Örneğin enlem veya boylam değeri geçersizse isteğiniz reddedilecektir. bunu hatalı bir istek olarak görebiliriz.

Bir dizi içinde en fazla 512 koordinat iletilebilir veya çoklu çizgi kullanarak geçerli bir URL oluşturmaya devam edin. Birden fazla koordinat iletilirken, döndürülen verilerin doğruluğundan emin olun. , tek bir koordinat için veri isteğinde bulunmaya kıyasla daha düşük çözünürlükte olabilir. "Yerlerde" 512 nokta veya koordinatın aşılması veya "path" [yol] parametreleri, INVALID_REQUEST yanıt.

Yolları belirtme

Örneklenmiş yol istekleri, path kullanılarak belirtilir ve samples parametresi, yükseklik verileri isteğini belirtir bir yol boyunca belirli aralıklarla gösterilir. locations parametresi, path parametresi boylam ve enlem değerleri kümesidir. Ancak konumsal istekten farklı olarak path, sıralı bir köşe grubu belirtir. Geri dönmek yerine yükseklik verileri yalnızca köşelerdeki yükseklik verilerinde kullanıldığında, yol istekleri yolun uzunluğu (samples sayısına göre) belirtilmiş (uç noktalar dahil).

path parametresi aşağıdakilerden birini alabilir bağımsız değişkenler:

  • Virgülle ayrılmış iki veya daha fazla koordinat metin dizesinden oluşan bir dizi dikey çizgi ("|") kullanılarak ayrılmış karakter: path=40.714728,-73.998672|-34.397,150.644
  • Koordinatlar Kodlanmış Çoklu Çizgi Algoritması: path=enc:gfo}EtohhUxD@bAxJmGF

Enlem ve boylam koordinat dizeleri sayılar kullanılarak tanımlanır kullanabilirsiniz. Örneğin, "40.714728,-73.998672|-34.397, 150.644" geçerli bir path değer. Enlem ve boylam değerleri karşılık gelmelidir üzerinde geçerli bir konuma işaret eder. Enlemler, -90 ve 90, ancak boylam değerleri -180 ile 180 arasında herhangi bir değer. Örneğin enlem veya boylam değeri geçersizse isteğiniz reddedilecektir. bunu hatalı bir istek olarak görebiliriz.

Bir dizi içinde en fazla 512 koordinat iletilebilir veya çoklu çizgi kullanarak geçerli bir URL oluşturmaya devam edin. Birden fazla koordinatlarına göre, döndürülen verilerin doğruluğu . 512 nokta veya koordinat sınırını aşma 'konumlarda' veya "path" [yol] parametreleri bir INVALID_REQUEST yanıtı döndürür.

Yükseltme yanıtları

Yükseklik hizmeti, geçerli her istek için bir Yükseklik döndürür istek URL'sinde belirtilen biçimde olmalıdır.

ElevationResponse

FieldRequiredTypeDescription
required Array<ElevationResult> See ElevationResult for more information.
requiredElevationStatus See ElevationStatus for more information.
optionalstring

When the service returns a status code other than OK, there may be an additional error_message field within the response object. This field contains more detailed information about thereasons behind the given status code. This field is not always returned, and its content is subject to change.

ElevationStatus

Status codes returned by service.

  • OK indicating the API request was successful.
  • DATA_NOT_AVAILABLE indicating that there's no available data for the input locations.
  • INVALID_REQUEST indicating the API request was malformed.
  • OVER_DAILY_LIMIT indicating any of the following:
    • The API key is missing or invalid.
    • Billing has not been enabled on your account.
    • A self-imposed usage cap has been exceeded.
    • The provided method of payment is no longer valid (for example, a credit card has expired).
  • OVER_QUERY_LIMIT indicating the requestor has exceeded quota.
  • REQUEST_DENIED indicating the API did not complete the request.
  • UNKNOWN_ERROR indicating an unknown error.

Durum kodu OK dışında olduğunda, Yükseklik yanıt nesnesindeki error_message alanı. Bu alanda daha fazla yer var nedenleriyle ilgili ayrıntılı bilgi edinebilirsiniz.

Yanıt, aşağıdaki öğelere sahip bir results dizisi içerir:

ElevationResult

FieldRequiredTypeDescription
requirednumber

The elevation of the location in meters.

requiredLatLngLiteral

A location element of the position for which elevation data is being computed. Note that for path requests, the set of location elements will contain the sampled points along the path.

See LatLngLiteral for more information.

optionalnumber

The value indicating the maximum distance between data points from which the elevation was interpolated, in meters. This property will be missing if the resolution is not known. Note that elevation data becomes more coarse (larger resolution values) when multiple points are passed. To obtain the most accurate elevation value for a point, it should be queried independently.

location nesnesi aşağıdaki öğelere sahiptir:

LatLngLiteral

An object describing a specific location with Latitude and Longitude in decimal degrees.

FieldRequiredTypeDescription
requirednumber

Latitude in decimal degrees

requirednumber

Longitude in decimal degrees

Konumsal yükseklik örnekleri

Aşağıdaki örnekte Denver’ın rakımı istenmiştir, Colorado, "Mil High City" JSON biçimindedir:

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>

Aşağıdaki örnekte birden çok yanıt gösterilmektedir (Denver, CO ve için Ölüm Vadisi, Kaliforniya).

Bu istek, JSON output işaretinin kullanımını gösterir:

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'

Bu istek, XML output işaretinin kullanımını gösterir:

https://maps.googleapis.com/maps/api/elevation/xml?locations=39.7391536,-104.9847034|36.455556,-116.866667&key=YOUR_API_KEY

Örnek JSON ve XML yanıtlarını görmek için aşağıdaki sekmeleri seçin.

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>

Aşağıdaki örneklerde, düz bir çizgi üzerinde yükseklik verileri istenmektedir path Whitney Dağı ile Kaliforniya'dan Badwater'a, Kaliforniya'daki en yüksek ve en yüksek Kıtasal ABD'deki en düşük noktalarda. Üç tane istiyoruz samples. Bu değer, iki uç noktayı ve yarıya indik.

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>