لحساب مسار، عليك تحديد مواقع مصدر المسار ووجهة المسار على الأقل. يمكنك تحديد هذه المواقع باعتبارها نقاط طريق على المسار.
بالإضافة إلى نقطة الانطلاق والوجهة، يمكنك تحديد أنواع مختلفة من نقاط المسارات وكيفية التعامل مع نقاط الطرق للمسار. لمزيد من المعلومات والأمثلة، راجع هذه الموضوعات:
- تحديد اتجاه المركبة وجانب الطريق
- تحديد نقاط الطريق المتوسطة
- تحديد محطة على طول مسار
- تحديد نقطة للمرور
- تحسين ترتيب المحطات في مسارك
تحديد مواقع لمسار
تمثِّل موقعًا جغرافيًا من خلال إنشاء كائن Waypoint (REST) أو Waypoint (gRPC). في تعريف نقطة الطريق، يمكنك تحديد موقع جغرافي بأي من الطرق التالية:
- رقم تعريف المكان (مفضّل)
- إحداثيات خطوط العرض/خطوط الطول
- سلسلة العنوان ("شيكاغو، إلينوي" أو "دارون، الإقليم الشمالي، أستراليا")
- رمز الموقع المفتوح
يمكنك تحديد مواقع لجميع نقاط الطريق في طلب بالطريقة نفسها، أو يمكنك مزجها. على سبيل المثال، يمكنك استخدام إحداثيات خط العرض/خط الطول لنقطة الطريق الأصلية واستخدام معرّف مكان لنقطة الطريق الوجهة.
لتحقيق الكفاءة والدقة، استخدِم أرقام تعريف الأماكن بدلاً من إحداثيات خطوط الطول/العرض أو سلاسل العناوين. معرّفات الأماكن واضحة بشكل فريد وتوفر مزايا الترميز الجغرافي للتوجيه مثل نقاط الوصول ومتغيرات حركة المرور. ويساعدون في تجنب المواقف التالية التي يمكن أن تنتج عن طرق أخرى لتحديد موقع ما:
- ويمكن أن يؤدي استخدام إحداثيات خطوط الطول/العرض إلى تبديل الموقع الجغرافي إلى الطريق الأقرب إلى تلك الإحداثيات، وقد لا تكون نقطة دخول إلى الموقع أو حتى طريقًا يؤدي بسرعة أو بأمان إلى الوجهة.
- يجب أولاً ترميز سلاسل العناوين جغرافيًا باستخدام واجهة برمجة تطبيقات Routes 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 عملية بحث لتمييزها عن العناوين المشابهة. على سبيل المثال، يمكن أن تكون "1st Street" قيمة كاملة أو قيمة جزئية لـ "1st street NE" أو "1st St SE". قد تختلف هذه النتيجة عن تلك التي تعرضها واجهة برمجة التطبيقات للترميز الجغرافي. يمكنك تجنُّب التفسيرات الخاطئة المحتملة باستخدام معرّفات الأماكن.
تحديد المنطقة للعنوان
في حال تمرير سلسلة عنوان غير مكتملة كموقع لنقطة طريق، قد تستخدم واجهة برمجة التطبيقات إحداثيات خط العرض/خط الطول غير الصحيحة والمرمزة جغرافيًا. على سبيل المثال، يمكنك تقديم طلب مع تحديد "Toledo" على أنه الأصل و "مدريد" كوجهة مسار القيادة:
{ "origin":{ "address": "Toledo" }, "destination":{ "address": "Madrid" }, "travelMode": "DRIVE" }
في هذا المثال، يتم تفسير "توليدو" على أنها مدينة في ولاية أوهايو في الولايات المتحدة، وليس في إسبانيا. لذلك، يعرض الطلب صفيفًا فارغًا، مما يعني عدم وجود مسارات:
{ [] }
يمكنك ضبط واجهة برمجة التطبيقات لعرض النتائج المتحيزة لمنطقة معيّنة، وذلك من خلال تضمين المَعلمة regionCode
. تحدّد هذه المَعلمة رمز المنطقة على أنّه
ccTLD ("نطاق المستوى الأعلى")
كقيمة مؤلفة من حرفَين. تتطابق معظم رموز 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 هي مثل عناوين الشوارع للأشخاص أو الأماكن التي ليس لها عنوان فعلي. بدلاً من العناوين التي تحتوي على أسماء الشوارع وأرقامها، تستند رموز Plus Codes إلى إحداثيات خطوط الطول والعرض، ويتم عرضها كأرقام وحروف.
طوَّرت Google Plus Codes لتوفير ميزة العناوين للجميع وفي كل شيء. رمز Plus Codes هو مرجع موقع مشفّر، يتم اشتقاقه من إحداثيات خط العرض/خط الطول، ويمثّل مساحة: 1/8, 000 درجة × 1/8, 000 درجة (حوالي 14 متر × 14 متر عند خط الاستواء) أو أقل. يمكنك استخدام Plus Codes كبديل لعناوين الشوارع في الأماكن التي لا توجد فيها أو التي لا تكون المباني مرقمة أو لا يتم فيها تسمية الشوارع.
يجب أن تكون رموز Plus Codes عبارة عن رمز عام أو رمز مركّب:
- يتكوّن الرمز العام من رمز منطقة مكوّن من 4 أحرف و6 أحرف أو أكثر من رمز محلي.
على سبيل المثال، بالنسبة إلى العنوان "1600 Amphitheatre Parkway, Mountain View, CA"، يكون الرمز العام هو "849V"، والرمز المحلي هو "CWC8+R9". بعد ذلك، يمكنك استخدام رمز Plus Codes بالكامل والمؤلّف من 10 أحرف لتحديد قيمة الموقع الجغرافي على النحو التالي "849VCWC8+R9".
- يتكوّن الرمز المركّب من 6 أحرف أو أكثر
رمزًا محليًا يتم دمجه مع موقع جغرافي صريح.
على سبيل المثال، يحتوي العنوان " 450 Serra مول, 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"، بما في ذلك الإكمال التلقائي للمكان وتفاصيل المكان وواجهة برمجة التطبيقات للاتجاهات وواجهة برمجة التطبيقات للترميز الجغرافي. على سبيل المثال، يمكنك استخدام واجهة برمجة تطبيقات الترميز الجغرافي لعكس الترميز الجغرافي لموقع محدّد بإحداثيات خطوط الطول/العرض لتحديد رمز Plus Codes للموقع.