طلبات بيانات الارتفاع
يتم إنشاء طلبات Elevation API كسلسلة عناوين URL. تعرض واجهة برمجة التطبيقات بيانات الارتفاع للمواقع الجغرافية على الأرض. يمكنك تحديد بيانات الموقع الجغرافي بإحدى الطريقتين التاليتين:
- كمجموعة من موقع جغرافي واحد أو أكثر من
locations - كسلسلة من النقاط المتصلة على طول
path
تستخدم أي من هاتَين الطريقتَين إحداثيات خطوط الطول والعرض لتحديد المواقع الجغرافية أو رؤوس المسار. تصف هذه الوثيقة التنسيق المطلوب لعناوين URL الخاصة بـ Elevation API والمعلَمات المتاحة.
تعرض Elevation API بيانات لطلبات نقطة واحدة بأعلى دقة ممكنة. قد تعرض طلبات الدُفعات التي تتضمّن مواقع جغرافية متعدّدة بيانات بدقة أقل، خاصةً إذا كانت المواقع الجغرافية متباعدة، لأنّه يتم إجراء بعض عمليات تسوية البيانات.
يأخذ طلب بيانات من واجهة برمجة التطبيقات Elevation الشكل التالي:
https://maps.googleapis.com/maps/api/elevation/outputFormat?parameters
حيث يمكن أن تكون outputFormat إحدى القيمتَين التاليتَين:
json(ننصح بها)، تشير إلى الإخراج بتنسيق JavaScript Object Notation (JSON)xml، تشير إلى الإخراج بتنسيق XML، مضمّنًا في العقدة<ElevationResponse>
ملاحظة: يجب ترميز عناوين URL بشكل صحيح لتكون صالحة، ويقتصر عدد الأحرف فيها على 16384 حرفًا لجميع خدمات الويب. يُرجى الانتباه إلى هذا الحدّ عند إنشاء عناوين URL. تجدر الإشارة إلى أنّ المتصفحات والوكلاء والخوادم المختلفة قد يكون لها أيضًا حدود مختلفة لعدد أحرف عناوين URL.
يجب استخدام HTTPS للطلبات التي تستخدم مفتاح واجهة برمجة التطبيقات.
معلَمات الطلب
تستخدم الطلبات الموجّهة إلى Elevation API معلَمات مختلفة استنادًا إلى ما إذا كان الطلب مخصّصًا لمواقع جغرافية منفصلة أو لمسار مرتّب. بالنسبة إلى المواقع الجغرافية المنفصلة، تعرض طلبات بيانات الارتفاع بيانات حول المواقع الجغرافية المحدّدة التي تم تمريرها في الطلب. أما بالنسبة إلى المسارات، فيتم بدلاً من ذلك أخذ عيّنات من طلبات بيانات الارتفاع على طول المسار المحدّد.
كما هو معتاد في جميع عناوين URL، يتم فصل المعلَمات باستخدام رمز العطف (&). يتم توضيح قائمة المعلَمات وقيمها المحتمَلة أدناه.
جميع الطلبات
key-- (مطلوب) مفتاح واجهة برمجة التطبيقات لتطبيقك يحدّد هذا المفتاح تطبيقك لأغراض إدارة الحصص. تعرف على كيفية الحصول على مفتاح
الطلبات المستندة إلى الموضع
locations(مطلوب) تحدّد المواقع الجغرافية على الأرض التي سيتم عرض بيانات الارتفاع منها. تأخذ هذه المعلَمة إما موقعًا جغرافيًا واحدًا كزوج {خط العرض، خط الطول} مفصولَين بفاصلة (مثل "40.714728,-73.998672") أو أزواج خطوط طول وعرض متعدّدة يتم تمريرها كمصفوفة أو كخط متعدد مشفّر. يبلغ الحدّ الأقصى لعدد النقاط المسموح به لهذه المعلَمة المحدّدة 512 نقطة. لمزيد من المعلومات، يُرجى الاطّلاع على تحديد المواقع الجغرافية أدناه.
طلبات المسار الذي تم أخذ عيّنات منه
path(مطلوب) تحدّد مسارًا على الأرض سيتم عرض بيانات الارتفاع له. تحدّد هذه المعلَمة مجموعة من زوجَين أو أكثر من أزواج {خط العرض، خط الطول} المرتّبة التي تحدّد مسارًا على طول سطح الأرض. يجب استخدام هذه المعلَمة مع المعلَمةsamplesالموضّحة أدناه. يبلغ الحدّ الأقصى لعدد النقاط المسموح به لهذه المعلَمة المحدّدة 512 نقطة. لمزيد من المعلومات، يُرجى الاطّلاع على تحديد المسارات أدناه.samples(مطلوب) تحدّد عدد نقاط العيّنات على طول مسار سيتم عرض بيانات الارتفاع له. تقسّم المعلَمةsamplesالمسارpathالمحدّد إلى مجموعة مرتّبة من النقاط المتساوية على طول المسار.
تحديد المواقع الجغرافية
يتم الإشارة إلى الطلبات المستندة إلى الموضع من خلال استخدام المعلَمة locations، ما يشير إلى طلبات بيانات الارتفاع للمواقع الجغرافية المحدّدة التي تم تمريرها كقيم لخطوط الطول والعرض.
يمكن أن تأخذ المعلَمة locations الوسيطات التالية:
- إحداثية واحدة:
locations=40.714728,-73.998672 - مصفوفة من الإحداثيات مفصولة باستخدام رمز الشرطة الرأسية ('
|'):locations=40.714728,-73.998672|-34.397,150.644 - مجموعة من الإحداثيات المشفّرة باستخدام خوارزمية
الخطوط المتعدّدة المشفّرة:
locations=enc:gfo}EtohhU
يتم تحديد سلاسل إحداثيات خطوط الطول والعرض باستخدام أرقام ضمن سلسلة نصية مفصولة بفواصل. على سبيل المثال، "40.714728,-73.998672" هي قيمة locations صالحة. يجب أن تتوافق قيم خطوط الطول والعرض مع موقع جغرافي صالح على سطح الأرض. يمكن أن تأخذ خطوط العرض أي قيمة بين
-90 و 90، بينما يمكن أن تأخذ خطوط الطول
أي قيمة بين -180 و 180. إذا حدّدت قيمة غير صالحة لخط العرض أو خط الطول، سيتم رفض طلبك باعتباره طلبًا غير صالح.
يمكنك تمرير ما يصل إلى 512 إحداثية ضمن مصفوفة أو خط متعدد مشفّر، مع الاستمرار في إنشاء عنوان URL صالح. يُرجى العِلم أنّه عند تمرير إحداثيات متعدّدة، قد تكون دقة أي بيانات يتم عرضها أقل من الدقة عند طلب بيانات لإحداثية واحدة. يؤدي تجاوز 512 نقطة أو إحداثية في المعلَمتَين "locations" أو "path" إلى عرض استجابة INVALID_REQUEST.
تحديد المسارات
يتم الإشارة إلى طلبات المسار الذي تم أخذ عيّنات منه من خلال استخدام المعلَمتَين path وsamples، ما يشير إلى طلب بيانات الارتفاع على طول مسار بفواصل زمنية محدّدة. كما هو الحال مع الطلبات المستندة إلى الموضع باستخدام المعلَمة locations، تحدّد المعلَمة path مجموعة من قيم خطوط الطول والعرض. على عكس الطلب المستند إلى الموضع، تحدّد المعلَمة path مجموعة مرتّبة من الرؤوس. بدلاً من عرض
بيانات الارتفاع عند الرؤوس فقط، يتم أخذ عيّنات من طلبات المسار على
طول المسار، استنادًا إلى عدد samples
المحدّد (بما في ذلك نقاط النهاية).
يمكن أن تأخذ المعلَمة path إحدى الوسيطتَين التاليتَين:
- مصفوفة من سلسلتَين نصيتَين أو أكثر من سلاسل إحداثيات مفصولة بفواصل ومفصولة
باستخدام رمز الشرطة الرأسية ('
|'):path=40.714728,-73.998672|-34.397,150.644 - إحداثيات مشفّرة باستخدام خوارزمية الخطوط المتعدّدة المشفّرة:
path=enc:gfo}EtohhUxD@bAxJmGF
يتم تحديد سلاسل إحداثيات خطوط الطول والعرض باستخدام أرقام ضمن سلسلة نصية مفصولة بفواصل. على سبيل المثال، "40.714728,-73.998672|-34.397, 150.644" هي قيمة path صالحة. يجب أن تتوافق قيم خطوط الطول والعرض مع موقع جغرافي صالح على سطح الأرض. يمكن أن تأخذ خطوط العرض أي قيمة
بين -90 و90، بينما يمكن أن تأخذ خطوط الطول أي قيمة بين -180
و180. إذا حدّدت قيمة غير صالحة لخط العرض أو خط الطول، سيتم رفض طلبك باعتباره طلبًا غير صالح.
يمكنك تمرير ما يصل إلى 512 إحداثية ضمن مصفوفة أو خط متعدد مشفّر، مع الاستمرار في إنشاء عنوان URL صالح. يُرجى العِلم أنّه عند تمرير إحداثيات متعدّدة، قد تكون دقة أي بيانات يتم عرضها أقل من الدقة عند طلب بيانات لإحداثية واحدة. يؤدي تجاوز 512 نقطة أو إحداثية في المعلَمتَين "locations" أو "path" إلى عرض استجابة INVALID_REQUEST.
استجابات بيانات الارتفاع
- مصفوفة من سلسلتَين نصيتَين أو أكثر من سلاسل إحداثيات مفصولة بفواصل ومفصولة
باستخدام رمز الشرطة الرأسية ('
|'):path=40.714728,-73.998672|-34.397,150.644 - إحداثيات مشفّرة باستخدام خوارزمية الخطوط المتعدّدة المشفّرة:
path=enc:gfo}EtohhUxD@bAxJmGF
يتم تحديد سلاسل إحداثيات خطوط الطول والعرض باستخدام أرقام ضمن سلسلة نصية مفصولة بفواصل. على سبيل المثال، "40.714728,-73.998672|-34.397, 150.644" هي قيمة path صالحة. يجب أن تتوافق قيم خطوط الطول والعرض مع موقع جغرافي صالح على سطح الأرض. يمكن أن تأخذ خطوط العرض أي قيمة
بين -90 و 90، بينما يمكن أن تأخذ خطوط الطول أي قيمة بين -180
و -180. إذا حدّدت قيمة غير صالحة لخط العرض أو خط الطول، سيتم رفض طلبك باعتباره طلبًا غير صالح.
يمكنك تمرير ما يصل إلى 512 إحداثية ضمن مصفوفة أو خط متعدد مشفّر، مع الاستمرار في إنشاء عنوان URL صالح. يُرجى العِلم أنّه عند تمرير إحداثيات متعدّدة، قد تكون دقة أي بيانات يتم عرضها أقل من الدقة عند طلب بيانات لإحداثية واحدة. يؤدي تجاوز 512 نقطة أو إحداثية في المعلَمتَين "locations" أو "path" إلى عرض استجابة INVALID_REQUEST.
استجابات بيانات الارتفاع
لكل طلب صالح، تعرض خدمة بيانات الارتفاع استجابة بيانات الارتفاع بالتنسيق المحدّد في عنوان URL للطلب.
ElevationResponse
| الحقل | مطلوب | النوع | الوصف |
|---|---|---|---|
|
مطلوب | Array<ElevationResult> | يُرجى الاطّلاع على ElevationResult لمزيد من المعلومات. |
|
مطلوب | ElevationStatus | يُرجى الاطّلاع على ElevationStatus لمزيد من المعلومات. |
|
اختياري | سلسلة |
عندما تعرض الخدمة رمز حالة غير |
ElevationStatus
رموز الحالة التي تعرضها الخدمة
OKتشير إلى أنّ طلب بيانات من واجهة برمجة التطبيقات تم بنجاح.DATA_NOT_AVAILABLEتشير إلى عدم توفّر أي بيانات للمواقع الجغرافية المُدخَلة.INVALID_REQUESTتشير إلى أنّ طلب واجهة برمجة التطبيقات غير صالح.OVER_DAILY_LIMITتشير إلى أي مما يلي:- مفتاح واجهة برمجة التطبيقات غير متوفّر أو غير صالح.
- لم يتم تفعيل الفوترة في حسابك.
- تم تجاوز حدّ الاستخدام الذي فرضته على نفسك.
- طريقة الدفع المقدَّمة غير صالحة (على سبيل المثال، انتهت صلاحية بطاقة الائتمان).
OVER_QUERY_LIMITتشير إلى أنّ مقدِّم الطلب تجاوز الحصة المحدّدة.REQUEST_DENIEDتشير إلى أنّ واجهة برمجة التطبيقات لم تُكمل الطلب.UNKNOWN_ERRORتشير إلى حدوث خطأ غير معروف.
عندما يكون رمز الحالة غير OK، قد يكون هناك حقل error_message إضافي ضمن عنصر استجابة بيانات الارتفاع. يحتوي هذا الحقل على معلومات أكثر تفصيلاً حول أسباب رمز الحالة المحدّد.
تحتوي الاستجابة على مصفوفة results تتضمّن العناصر التالية:
ElevationResult
| الحقل | مطلوب | النوع | الوصف |
|---|---|---|---|
|
مطلوب | الرقم |
ارتفاع الموقع الجغرافي بالأمتار |
|
مطلوب | LatLngLiteral |
عنصر موقع جغرافي للموضع الذي يتم حساب بيانات الارتفاع له يُرجى العِلم أنّه بالنسبة إلى طلبات المسار، ستحتوي مجموعة عناصر الموقع الجغرافي على النقاط التي تم أخذ عيّنات منها على طول المسار. يُرجى الاطّلاع على LatLngLiteral لمزيد من المعلومات. |
|
اختياري | الرقم |
القيمة التي تشير إلى الحد الأقصى للمسافة بين نقاط البيانات التي تم استيفاء الارتفاع منها، بالأمتار لن تكون هذه السمة متوفّرة إذا كانت الدقة غير معروفة. يُرجى العِلم أنّ بيانات الارتفاع تصبح أكثر خشونة (قيم دقة أكبر) عند تمرير نقاط متعدّدة للحصول على قيمة الارتفاع الأكثر دقة لنقطة، يجب طلبها بشكل مستقل. |
LatLngLiteral
عنصر يصف موقعًا جغرافيًا محدّدًا باستخدام خط العرض وخط الطول بالدرجات العشرية
| الحقل | مطلوب | النوع | الوصف |
|---|---|---|---|
|
مطلوب | الرقم |
خط العرض بالدرجات العشرية |
|
مطلوب | الرقم |
خط الطول بالدرجات العشرية |
أمثلة على بيانات الارتفاع المستندة إلى الموضع
يطلب المثال التالي بيانات الارتفاع لمدينة دنفر في كولورادو، "المدينة المرتفعة عن سطح البحر بميل واحد":
عنوان 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>
يعرض المثال التالي استجابات متعدّدة (لدنفر في كولورادو و"وادي الموت" في كاليفورنيا).
يوضّح هذا الطلب استخدام العلامة output بتنسيق 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'
يوضّح هذا الطلب استخدام العلامة output بتنسيق XML:
https://maps.googleapis.com/maps/api/elevation/xml?locations=39.7391536,-104.9847034|36.455556,-116.866667&key=YOUR_API_KEY
انقر على علامات التبويب أدناه للاطّلاع على أمثلة على استجابات JSON و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>
تطلب الأمثلة التالية بيانات الارتفاع على طول path خط مستقيم من جبل ويتني في كاليفورنيا إلى Badwater في كاليفورنيا، وهما أعلى وأدنى نقطتَين في الولايات المتحدة القارية. نطلب ثلاث samples، لذا سيشمل ذلك نقطتَي النهاية والنقطة في المنتصف.
عنوان 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>