Yükseklik istekleri ve yanıtları

Yükseltme istekleri

Elevation API istekleri, URL dizesi olarak oluşturulur. API, dünya üzerindeki konumlar için rakım verilerini döndürür. Konum verilerini iki yöntemden biriyle belirtebilirsiniz:

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

Bu yaklaşımların her ikisi de konumları veya yol köşelerini tanımlamak için enlem/boylam koordinatlarını kullanır. Bu dokümanda, Elevation API URL'lerinin gerekli biçimi ve kullanılabilir parametreler açıklanmaktadır.

Elevation API, tek noktalı sorgular için mümkün olan en yüksek doğrulukta veri döndürür. Birden fazla konum içeren toplu sorgular, özellikle konumlar birbirinden uzaksa verilerin bir miktar düzeltilmesi nedeniyle daha az doğru veriler döndürebilir.

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

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

Burada outputFormat, aşağıdaki değerlerden biri olabilir:

  • json (önerilir), çıkışın JavaScript Object Notation (JSON) biçiminde olduğunu gösterir veya
  • xml, çıkışın XML biçiminde olduğunu ve <ElevationResponse> düğümü içinde sarmalandığını gösterir.

Not: URL'lerin geçerli olması için uygun şekilde kodlanması gerekir ve tüm web hizmetleri için 16.384 karakterle sınırlıdır. URL'lerinizi oluştururken bu sınırı göz önünde bulundurun. Farklı tarayıcıların, proxy'lerin ve sunucuların farklı URL karakter sınırlamaları olabileceğini unutmayın.

API anahtarı kullanan istekler için HTTPS gereklidir.

İstek parametreleri

Elevation API'ye gönderilen istekler, isteğin ayrı konumlar için mi yoksa sıralı bir yol için mi olduğuna bağlı olarak farklı parametreler kullanır. Ayrı konumlar için rakım istekleri, istekte iletilen belirli konumlarla ilgili verileri döndürür. Yollar için rakım istekleri, verilen yol boyunca örneklenir.

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

Tüm istekler

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

Konuma dayalı istekler

  • locations (gerekli), rakım verilerinin döndürüleceği dünya üzerindeki konumları tanımlar. Bu parametre, virgülle ayrılmış {enlem,boylam} çifti olarak tek bir konum (ör. "40.714728,-73.998672") veya dizi ya da kodlanmış çoklu çizgi olarak iletilen birden fazla enlem/boylam çifti alır. Bu parametre için 512 nokta sınırı vardır. Daha fazla bilgi için aşağıdaki Konumları Belirtme bölümüne bakın.

Örneklenen yol istekleri

  • path (zorunlu), yükseklik verilerinin döndürüleceği dünya üzerindeki bir yolu tanımlar. Bu parametre, dünya yüzeyi boyunca bir yol tanımlayan iki veya daha fazla sıralı {enlem,boylam} çiftini tanımlar. Bu parametre, aşağıda açıklanan samples parametresiyle birlikte kullanılmalıdır. Bu parametre için 512 nokta sınırı vardır. Daha fazla bilgi için aşağıdaki Yolları Belirtme bölümüne bakın.
  • samples (zorunlu), bir yol boyunca rakım verilerinin döndürüleceği örnek noktaların sayısını belirtir. samples parametresi, verilen path değerini yol boyunca eşit uzaklıktaki noktalardan oluşan sıralı bir kümeye böler.

Konumları belirtme

Konuma dayalı istekler, enlem/boylam değerleri olarak iletilen belirli konumlar için yükseklik isteklerini belirten locations parametresi kullanılarak belirtilir.

locations parametresi aşağıdaki bağımsız değişkenleri alabilir:

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

Enlem ve boylam koordinat dizeleri, virgülle ayrılmış bir metin dizesinde rakamlar kullanılarak tanımlanır. Örneğin, "40.714728,-73.998672" geçerli bir locations değeridir. Enlem ve boylam değerleri, dünya üzerinde geçerli bir konuma karşılık gelmelidir. Enlem değerleri -90 ile 90 arasında, boylam değerleri ise -180 ile 180 arasında herhangi bir değer alabilir. Geçersiz bir enlem veya boylam değeri belirtirseniz isteğiniz hatalı istek olarak reddedilir.

Geçerli bir URL oluştururken bir dizi veya kodlanmış çoklu çizgi içinde en fazla 512 koordinat iletebilirsiniz. Birden fazla koordinat iletirken döndürülen verilerin doğruluğunun, tek bir koordinat için veri isterken olduğundan daha düşük çözünürlükte olabileceğini unutmayın. "locations" veya "path" parametrelerinde 512 nokta veya koordinatın aşılması INVALID_REQUEST yanıtı döndürür.

Yolları belirtme

Örneklenmiş yol istekleri, path ve samples parametreleri kullanılarak belirtilir. Bu parametreler, belirli aralıklarla bir yol boyunca rakım verileri isteğini gösterir. locations parametresini kullanan konumsal isteklerde olduğu gibi, path parametresi de bir dizi enlem ve boylam değeri belirtir. Ancak konumsal istekten farklı olarak path, sıralı bir köşe kümesi belirtir. Yol istekleri, yalnızca tepe noktalarındaki yükseklik verilerini döndürmek yerine, belirtilen samples sayısına göre (uç noktalar dahil) yolun uzunluğu boyunca örneklenir.

path parametresi aşağıdaki bağımsız değişkenlerden birini alabilir:

  • Dikey çizgi ("|") karakteriyle ayrılmış, virgülle ayrılmış iki veya daha fazla koordinat metin dizesinden oluşan bir dizi: path=40.714728,-73.998672|-34.397,150.644
  • Kodlanmış çoklu çizgi algoritması kullanılarak kodlanmış koordinatlar: path=enc:gfo}EtohhUxD@bAxJmGF

Enlem ve boylam koordinat dizeleri, virgülle ayrılmış bir metin dizesinde rakamlar kullanılarak tanımlanır. Örneğin, "40.714728,-73.998672|-34.397, 150.644" geçerli bir path değeridir. Enlem ve boylam değerleri, dünya üzerinde geçerli bir konuma karşılık gelmelidir. Enlem değerleri -90 ile 90 arasında, boylam değerleri ise -180 ile 180 arasında herhangi bir değer alabilir. Geçersiz bir enlem veya boylam değeri belirtirseniz isteğiniz geçersiz istek olarak reddedilir.

Geçerli bir URL oluştururken bir dizi veya kodlanmış çoklu çizgi içinde en fazla 512 koordinat iletebilirsiniz. Birden fazla koordinat iletirken döndürülen verilerin doğruluğunun, tek bir koordinat için veri isterken olduğundan daha düşük çözünürlükte olabileceğini unutmayın. "locations" veya "path" parametrelerinde 512 nokta veya koordinatın aşılması INVALID_REQUEST yanıtı döndürür.

Yükseltme yanıtları

  • Dikey çizgi ("|") karakteriyle ayrılmış, virgülle ayrılmış iki veya daha fazla koordinat metin dizesinden oluşan bir dizi: path=40.714728,-73.998672|-34.397,150.644
  • Kodlanmış çoklu çizgi algoritması kullanılarak kodlanmış koordinatlar: path=enc:gfo}EtohhUxD@bAxJmGF

Enlem ve boylam koordinat dizeleri, virgülle ayrılmış bir metin dizesinde rakamlar kullanılarak tanımlanır. Örneğin, "40.714728,-73.998672|-34.397, 150.644" geçerli bir path değeridir. Enlem ve boylam değerleri, dünya üzerinde geçerli bir konuma karşılık gelmelidir. Enlem değerleri -90 ile 90 arasında, boylam değerleri ise -180 ile -180 arasında herhangi bir değer alabilir. Geçersiz bir enlem veya boylam değeri belirtirseniz isteğiniz geçersiz istek olarak reddedilir.

Geçerli bir URL oluştururken bir dizi veya kodlanmış çoklu çizgi içinde en fazla 512 koordinat iletebilirsiniz. Birden fazla koordinat iletirken döndürülen verilerin doğruluğunun, tek bir koordinat için veri isterken olduğundan daha düşük çözünürlükte olabileceğini unutmayın. "locations" veya "path" parametrelerinde 512 nokta veya koordinatın aşılması INVALID_REQUEST yanıtı döndürür.

Yükseltme yanıtları

Elevation hizmeti, her geçerli istek için istek URL'sinde belirtilen biçimde bir Elevation yanıtı döndürür.

ElevationResponse

Alan Zorunlu Tür Açıklama
required Dizi<ElevationResult> Daha fazla bilgi için ElevationResult sayfasını inceleyin.
required ElevationStatus Daha fazla bilgi için ElevationStatus sayfasına bakın.
isteğe bağlı dize

Hizmet OK dışında bir durum kodu döndürdüğünde yanıt nesnesinde ek bir error_message alanı olabilir. Bu alan, verilen durum kodunun nedenleri hakkında daha ayrıntılı bilgi içerir. Bu alan her zaman döndürülmez ve içeriği değişebilir.

ElevationStatus

Hizmet tarafından döndürülen durum kodları.

  • API isteğinin başarılı olduğunu gösteren OK.
  • Giriş konumları için kullanılabilir veri olmadığını gösteren DATA_NOT_AVAILABLE.
  • INVALID_REQUEST, API isteğinin yanlış biçimlendirildiğini gösterir.
  • OVER_DAILY_LIMIT Aşağıdakilerden herhangi birini gösteren:
    • API anahtarı eksik veya geçersiz.
    • Hesabınızda faturalandırma etkinleştirilmemiştir.
    • Kullanıcının kendisi için belirlediği kullanım sınırı aşıldı.
    • Sağlanan ödeme yöntemi artık geçerli değilse (ör. kredi kartının süresi dolmuşsa)
  • İstek sahibinin kotayı aştığını belirten OVER_QUERY_LIMIT.
  • API'nin isteği tamamlamadığını belirten REQUEST_DENIED.
  • Bilinmeyen bir hatayı gösteren UNKNOWN_ERROR.

Durum kodu OK dışında bir değer olduğunda, Elevation yanıt nesnesinde ek bir error_message alanı olabilir. Bu alan, verilen durum kodunun nedenleri hakkında daha ayrıntılı bilgi içerir.

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

ElevationResult

Alan Zorunlu Tür Açıklama
required sayı

Konumun metre cinsinden rakımı.

required LatLngLiteral

Yükseklik verilerinin hesaplandığı konumun konum öğesi. Yol istekleri için konum öğeleri kümesinin, yol boyunca örneklenen noktaları içereceğini unutmayın.

Daha fazla bilgi için LatLngLiteral sayfasına bakın.

isteğe bağlı sayı

Yüksekliğin enterpolasyonunun yapıldığı veri noktaları arasındaki maksimum mesafeyi metre cinsinden gösteren değer. Çözünürlük bilinmiyorsa bu özellik eksik olur. Birden fazla nokta iletildiğinde yükseklik verilerinin daha kaba (daha büyük çözünürlük değerleri) hale geldiğini unutmayın. Bir noktanın en doğru yükseklik değerini elde etmek için bağımsız olarak sorgulanması gerekir.

LatLngLiteral

Ondalık derece cinsinden enlem ve boylam ile belirli bir konumu açıklayan nesne.

Alan Zorunlu Tür Açıklama
required sayı

Ondalık derece cinsinden enlem

required sayı

Ondalık derece cinsinden boylam

Konumsal yükseltme örnekleri

Aşağıdaki örnekte, "Mile High City" olarak bilinen Denver, Colorado'nun rakımı istenmektedir:

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 fazla yanıt (Denver, CO ve Death Valley, CA için) gösterilmektedir.

Bu istekte JSON output işaretinin kullanımı gösterilmektedir:

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 istekte XML output işaretinin kullanımı gösterilmektedir:

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 örnekte, ABD'nin en yüksek ve en alçak noktaları olan Mt. Whitney, CA ile Badwater, CA arasındaki düz bir çizgi path boyunca rakım verileri istenmektedir. Üç tane samples istediğimiz için iki uç nokta ve orta nokta dahil edilir.

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>