تحديد المواقع الجغرافية لمسار معيّن

يجب تحديد مواقع المسار على الأقل وجهة نقطة الانطلاق والمسار. يمكنك تحديد هذه المواقع كنقاط طريق في المسار الصحيح.

بالإضافة إلى المصدر والوجهة، يمكنك تحديد أنواع مختلفة من نقاط الطريق وكيفية التعامل مع نقاط الطريق لطريق. لمزيد من المعلومات الأمثلة، يُرجى الاطّلاع على المواضيع التالية:

تحديد مواقع لمسار ما

أنت تمثّل موقعًا جغرافيًا من خلال إنشاء نقطة طريق (REST). أو Waypoint (gRPC). في جلسة المعمل، تعريف نقطة الوسيطة، يمكنك تحديد موقع بأي من الطرق التالية:

يمكنك تحديد المواقع لجميع نقاط الطريق بطريقة طلب بالطريقة نفسها، أو يمكنك مزجها. على سبيل المثال، يمكنك استخدام إحداثيات خطوط الطول/العرض النقطة طريقة الأصل واستخدام معرف مكان لنقطة طريق الوجهة.

لضمان الكفاءة والدقة، استخدِم أرقام تعريف الأماكن بدلاً من خطوط الطول والعرض أو إحداثيات أو سلاسل العنوان. أرقام تعريف الأماكن واضحة بشكل فريد وتوفّر وفوائد الترميز الجغرافي للتوجيه مثل نقاط الوصول ومتغيرات حركة المرور. هم للمساعدة في تجنب المواقف التالية التي يمكن أن تنتج عن طرق أخرى تحديد موقع:

  • قد يؤدي استخدام إحداثيات خط العرض/خط الطول إلى تحديد الموقع إلى الطريق الأقرب إلى هذه الإحداثيات - والتي قد لا نقطة وصول إلى العقار، أو حتى طريق سريعة أو آمنة إلى الوجهة.
  • يجب أولاً ترميز سلاسل العناوين جغرافيًا من خلال 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، كاليفورنيا"). الترميز الجغرافي هو عملية تحويل سلسلة العنوان إلى إحداثيات خطوط العرض وخطوط الطول (مثل خط العرض 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 عملية بحث في لتمييزها عن العناوين المتشابهة. على سبيل المثال، "الشارع الأول" يمكن أن تكون قيمة كاملة أو قيمة جزئية لـ "1st street NE" أو "1st St SE". هذا النمط عن تلك التي يتم عرضها في واجهة برمجة تطبيقات Geocoding. يمكنك تجنب والتفسيرات الخاطئة المحتملة باستخدام معرّفات الأماكن.

ضبط المنطقة الخاصة بالعنوان

في حال تمرير سلسلة عنوان غير مكتملة كموقع نقطة وسيطة، ستلاحظ أنّ واجهة برمجة التطبيقات قد تستخدم إحداثيات خط العرض/خط الطول المرمَّزة جغرافيًا غير صحيحة. على سبيل المثال: عليك تقديم طلب بتحديد "Toledo" الأصل و"مدريد" باعتباره الوجهة لمسار القيادة:

{
  "origin":{
    "address": "Toledo"
  },
  "destination":{
    "address": "Madrid"
  },
  "travelMode": "DRIVE"
}

في هذا المثال، "Toledo" على أنه مدينة في ولاية أوهايو في الولايات المتحدة، وليس في إسبانيا. ومن ثم، يعرض الطلب مصفوفة فارغة، ما يعني عدم وجود مسارات:

{
  []
}

يمكنك تهيئة واجهة برمجة التطبيقات لعرض النتائج المتحيزة لمنطقة معينة عن طريق بما في ذلك المَعلمة regionCode. وتحدّد هذه المعلمة رمز المنطقة ccTLD ("نطاق المستوى الأعلى") قيمة مؤلفة من حرفين. تتطابق معظم رموز نطاقات المستوى الأعلى التي يتم ترميزها حسب البلد (ccTLD)، مع رموز ISO 3166-1، مع بعض الاستثناءات الملحوظة. على سبيل المثال، نطاق المستوى الأعلى الذي يتم ترميزه حسب البلد (ccTLD) في المملكة المتحدة هو uk. (co.uk.)، لكنّ رمزها وفقًا لمعيار ISO 3166-1 هو gb. (من الناحية الفنية لكيان "The المملكة المتحدة لبريطانيا العظمى وأيرلندا الشمالية").

طلب اتجاهات للوصول إلى "Toledo" إلى "مدريد" الذي يتضمّن regionCode النتائج المناسبة لأن دالة "Toledo" على أنه المدينة في أسبانيا:

{
  "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/8000 من الدرجة × 1/8000 من الدرجة (حوالي 14 متر × 14 متر عند خط الاستواء) أو أصغر. يمكنك استخدام Plus Codes كبديل عناوين الشوارع في أماكن لا توجد فيها أو لا توجد فيها مبانٍ مرقمة أو لم يتم تسمية الشوارع.

يجب تنسيق Plus Codes كرمز عام أو رمز مركّب:

  • يتألف الرمز العام من رمز منطقة مكوّن من 4 أحرف و6 حرفًا أو أكثر من رمز محلي.

    على سبيل المثال، بالنسبة إلى العنوان "1600 Amphitheatre Parkway، ماونتن فيو، كاليفورنيا، الرمز العالمي هو "849V" والرمز المحلي عبارة عن "CWC8+R9". ويمكنك بعد ذلك استخدام رمز Plus Codes المكوّن من 10 أحرف بالكامل لتحديد قيمة الموقع الجغرافي على "849VCWC8+R9".

  • يتألف الرمز المركّب من 6 أحرف أو أكثر. الرمز المحلي إلى جانب موقع جغرافي فاضح.

    على سبيل المثال، العنوان "450 Serra مول، ستانفورد، كاليفورنيا 94305، الولايات المتحدة الأمريكية" رمز محلي هو "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"، بما في ذلك الإكمال التلقائي للأماكن، تفاصيل المكان Directs API Geocoding API: على سبيل المثال، يمكنك استخدام Geocoding API لعكس الترميز الجغرافي الموقع المحدد بواسطة إحداثيات خط العرض/خط الطول لتحديد Plus Codes للموقع الجغرافي.