لاحتساب مسار، يجب تحديد المواقع الجغرافية لمصدر المسار ووجهته على الأقل. يمكنك تحديد هذه المواقع الجغرافية كنقاط طريق على المسار.
بالإضافة إلى نقطتَي البداية والوجهة، يمكنك تحديد أنواع مختلفة من نقاط المرور وكيفية التعامل معها في مسار معيّن. لمزيد من المعلومات والأمثلة، راجِع المواضيع التالية:
- تحديد وجهة المركبة وجانب الطريق
- تحديد نقاط توقّف وسيطة
- تحديد محطة على طول مسار
- ضبط نقطة ليمرّ بها المسار
- تحسين ترتيب محطات التوقف في مسار رحلتك
تحديد المواقع الجغرافية لمسار
يمكنك تمثيل موقع جغرافي من خلال إنشاء كائن نقطة طريق (REST) أو نقطة طريق (gRPC). في تعريف نقطة الطريق، يمكنك تحديد موقع جغرافي بأي من الطرق التالية:
- معرّف المكان (الخيار المفضّل)
- إحداثيات خطوط العرض/الطول
- سلسلة العنوان ("شيكاغو، إلينوي" أو "داروين، الإقليم الشمالي، أستراليا")
- رمز Plus
يمكنك تحديد المواقع الجغرافية لجميع نقاط الطريق في الطلب بالطريقة نفسها، أو يمكنك الجمع بينها. على سبيل المثال، يمكنك استخدام إحداثيات خط العرض/خط الطول لنقطة الطريق الأصلية واستخدام معرّف مكان لنقطة الطريق الخاصة بالوجهة.
لتحقيق الكفاءة والدقة، استخدِم أرقام تعريف الأماكن بدلاً من إحداثيات خطوط الطول والعرض أو سلاسل العناوين. تكون معرّفات الأماكن فريدة وواضحة، وتوفّر مزايا الترميز الجغرافي للتوجيه، مثل نقاط الوصول ومتغيرات حركة المرور. تساعد هذه الطريقة في تجنُّب الحالات التالية التي يمكن أن تنشأ عن الطرق الأخرى لتحديد الموقع الجغرافي:
- قد يؤدي استخدام إحداثيات خطوط الطول والعرض إلى تحديد الموقع الجغرافي على الطريق الأقرب إلى هذه الإحداثيات، وقد لا يكون هذا الطريق نقطة وصول إلى المكان المحدّد، أو حتى طريقًا يؤدي بسرعة أو بأمان إلى الوجهة.
- يجب أولاً ترميز سلاسل العناوين جغرافيًا باستخدام Routes API لتحويلها إلى إحداثيات خطوط العرض/الطول قبل أن تتمكّن من احتساب مسار. ويمكن أن يؤثر هذا التحويل في الأداء.
تحديد موقع جغرافي كمعرّف مكان
يمكنك استخدام رقم تعريف المكان لتحديد الموقع الجغرافي لنقطة طريق. بما أنّ إحداثيات خطوط الطول والعرض يتم ضبطها على الطرق، قد تجد أنّ معرّف المكان يقدّم نتائج أفضل في بعض الحالات.
استرداد أرقام تعريف الأماكن من Geocoding API وPlaces API (بما في ذلك خدمة الإكمال التلقائي للأماكن) لمزيد من المعلومات حول معرّفات الأماكن، راجِع نظرة عامة على معرّفات الأماكن.
يستخدم المثال التالي السمة placeId
لتمرير رقم تعريف مكان لكل من origin
وdestination
:
{ "origin":{ "placeId": "ChIJayOTViHY5okRRoq2kGnGg8o" }, "destination":{ "placeId": "ChIJTYKK2G3X5okRgP7BZvPQ2FU" }, ... }
تحديد موقع جغرافي كإحداثيات خط العرض وخط الطول
لتحديد الموقع الجغرافي في نقطة طريق، حدِّد الموقع الجغرافي (REST) أو الموقع الجغرافي(gRPC) باستخدام إحداثيات خطوط الطول والعرض.
على سبيل المثال، حدِّد نقطة طريق للمسار origin
وdestination
باستخدام الإحداثيات latitude
وlongitude
:
{ "origin":{ "location":{ "latLng":{ "latitude": 37.419734, "longitude": -122.0827784 } } }, "destination":{ "location":{ "latLng":{ "latitude": 37.417670, "longitude": -122.079595 } } }, ... }
تحديد موقع جغرافي كسلسلة عناوين
سلاسل العناوين هي عناوين حرفية ممثّلة بسلسلة (مثل "1600 Amphitheatre Parkway, Mountain View, CA"). الترميز الجغرافي هو عملية تحويل سلسلة عناوين إلى إحداثيات خطوط العرض والطول (مثل خط العرض 37.423021 وخط الطول -122.083739).
عندما تمرّر سلسلة عنوان كموقع جغرافي لنقطة طريق، تحوّل واجهة Routes API السلسلة داخليًا إلى رموز جغرافية لتحويلها إلى إحداثيات خط العرض وخط الطول.
على سبيل المثال، لاحتساب مسار، عليك تحديد نقطة طريق للمسار origin
وdestination
باستخدام سلاسل العناوين:
{ "origin":{ "address": "1600 Amphitheatre Parkway, Mountain View, CA" }, "destination":{ "address": "450 Serra Mall, Stanford, CA 94305, USA" }, ... }
في هذا المثال، تحوّل واجهة Routes API كلا العنوانين إلى إحداثيات خطوط الطول والعرض.
إذا كانت قيمة العنوان غير واضحة، قد تستدعي Routes API عملية بحث لتوضيح العنوان من بين العناوين المشابهة. على سبيل المثال، يمكن أن تكون "شارع 1" قيمة كاملة أو جزئية لـ "شارع 1 شمال شرق" أو "شارع 1 جنوب شرق". قد تختلف هذه النتيجة عن النتيجة التي تعرضها Geocoding API. يمكنك تجنُّب أي سوء فهم محتمل باستخدام معرّفات الأماكن.
تحديد المنطقة الخاصة بالعنوان
إذا مرّرت سلسلة عنوان غير مكتملة كموقع جغرافي لنقطة طريق، قد تستخدم واجهة برمجة التطبيقات إحداثيات خط العرض/خط الطول التي تم ترميزها جغرافيًا بشكل غير صحيح. على سبيل المثال، يمكنك تقديم طلب يحدّد "طليطلة" كنقطة انطلاق و "مدريد" كوجهة لمسار قيادة:
{ "origin":{ "address": "Toledo" }, "destination":{ "address": "Madrid" }, "travelMode": "DRIVE" }
في هذا المثال، يتم تفسير "طليطلة" على أنّها مدينة في ولاية أوهايو في الولايات المتحدة، وليس في إسبانيا. لذلك، يعرض الطلب مصفوفة فارغة، ما يعني أنّه لا توجد مسارات:
{ [] }
يمكنك ضبط واجهة برمجة التطبيقات لعرض نتائج متحيزة لمنطقة معيّنة من خلال تضمين المَعلمة regionCode
. تحدّد هذه المَعلمة رمز المنطقة كقيمة مكوّنة من حرفين لنطاق المستوى الأعلى لرمز البلد. معظم رموز ccTLD مطابقة لرموز ISO 3166-1، مع بعض الاستثناءات البارزة. على سبيل المثال، رمز ccTLD الخاص بالمملكة المتحدة هو "uk" (.co.uk)، بينما رمز ISO 3166-1 الخاص بها هو "gb" (وهو يشير تقنيًا إلى كيان "المملكة المتحدة لبريطانيا العظمى وأيرلندا الشمالية").
يؤدي طلب الحصول على اتجاهات من "توليدو" إلى "مدريد" يتضمّن المَعلمة regionCode
إلى عرض نتائج مناسبة لأنّه يتم تفسير "توليدو" على أنّه اسم مدينة في إسبانيا:
{ "origin":{ "address": "Toledo" }, "destination":{ "address": "Madrid" }, "travelMode": "DRIVE", "regionCode": "es" }
تحتوي الاستجابة الآن على المسار المحسوب من توليدو، إسبانيا إلى مدريد، إسبانيا:
{ "routes": [ { "distanceMeters": 75330, "duration": "4137s", ... } ] }
تحديد موقع جغرافي كرمز Plus Codes
لا يتوفّر لدى العديد من الأشخاص عنوان دقيق، ما قد يصعّب عليهم تلقّي عمليات التسليم. أو قد يفضّل الأشخاص الذين لديهم عنوان استلام عمليات التسليم في مواقع جغرافية أكثر تحديدًا، مثل مدخل خلفي أو رصيف تحميل.
رموز Plus Codes هي بمثابة عناوين الشوارع، لكنها مخصّصة للأشخاص أو الأماكن التي ليس لها عنوان. وبدلاً من العناوين التي تحتوي على أسماء الشوارع وأرقامها، تستند رموز المواقع المفتوحة إلى إحداثيات خطوط الطول والعرض وتظهر كأرقام وحروف.
طوّرت Google رموز Plus Codes لتوفير مزايا العناوين للجميع. رمز Plus Code هو مرجع مشفّر للموقع الجغرافي، مشتق من إحداثيات خطوط الطول والعرض، ويمثّل مساحة تبلغ 1/8000 من الدرجة في 1/8000 من الدرجة (حوالي 14 مترًا × 14 مترًا عند خط الاستواء) أو أصغر. يمكنك استخدام Plus Codes كبديل لعناوين الشوارع في الأماكن التي لا تتوفّر فيها أو التي لا تحمل فيها المباني أرقامًا أو لا تحمل الشوارع أسماء.
يجب تنسيق Plus Codes كرمز عالمي أو رمز مركّب:
- يتألف الرمز العالمي من رمز منطقة مكوّن من 4 أحرف ورمز محلي مكوّن من 6 أحرف أو أكثر.
على سبيل المثال، بالنسبة إلى العنوان "1600 Amphitheatre Parkway, Mountain View, CA"، يكون الرمز العالمي هو "849V" والرمز المحلي هو "CWC8+R9". بعد ذلك، يمكنك استخدام رمز الموقع المفتوح المكوّن من 10 أحرف بالكامل لتحديد قيمة الموقع الجغرافي على النحو التالي: "849VCWC8+R9".
- يتألف الرمز المركّب من رمز محلي يتضمّن 6 أحرف أو أكثر، بالإضافة إلى موقع جغرافي محدّد.
على سبيل المثال، العنوان "450 Serra Mall, Stanford, CA 94305, USA" يتضمّن الرمز المحلي "CRHJ+C3". بالنسبة إلى العنوان المركّب، ادمج الرمز المحلي مع جزء العنوان الذي يتضمّن المدينة والولاية والرمز البريدي والبلد بالشكل "CRHJ+C3 Stanford, CA 94305, USA".
على سبيل المثال، يمكنك احتساب مسار رحلة من خلال تحديد نقطة طريق للمسار
origin
وdestination
باستخدام رموز Plus Codes:{ "origin":{ "address": "849VCWC8+R9" }, "destination":{ "address": "CRHJ+C3 Stanford, CA 94305, USA" }, "travelMode": "DRIVE" }
تتوافق Plus Codes مع واجهات برمجة التطبيقات في "منصة خرائط Google"، بما في ذلك الإكمال التلقائي للأماكن و تفاصيل المكان و واجهة برمجة تطبيقات الاتجاهات (الإصدار القديم) و Geocoding API. على سبيل المثال، يمكنك استخدام Geocoding API لتحويل الترميز الجغرافي إلى ترميز جغرافي عكسي لموقع جغرافي محدّد بإحداثيات خطوط الطول والعرض من أجل تحديد Plus Code الخاص بالموقع الجغرافي.