المفاهيم الرئيسية

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

وسائل النقل

استخدِم مَعلمة travelMode (travel_mode) المطلوبة لتحديد وسيلة النقل:

  • DRIVE: تحتسب هذه السمة إمكانية الوصول للمكان لسيارة ركاب على طول الطرق الصالحة للقيادة باستخدام حدود السرعة المنشورة، والتسلسل الهرمي للطرق، وعقوبات الانعطاف، و(اختياريًا) أحوال حركة المرور المباشرة.
  • ‫TWO_WHEELER: تحتسب إمكانية الوصول لمركبة آلية ذات عجلتين (مثل دراجة نارية أو سكوتر) باستخدام قواعد الوصول إلى الطرق الخاصة بالوضع وسرعات نموذجية أقل من DRIVE على الطرق السريعة. نتيجةً لذلك، يغطي خط التساوي الزمني TWO_WHEELER عادةً مساحة أكبر من BICYCLE ولكن أصغر من DRIVE على طول الطرق السريعة.
  • ‫BICYCLE: تحتسب هذه السمة إمكانية الوصول للمكان لراكب دراجة على طول الشوارع التي يمكن للدراجات الوصول إليها، وخطوط الدراجات، والمسارات المشتركة، مع تعديل السرعات حسب نوع الطريق والمنحدر، باستثناء الطرق السريعة والطرق السريعة ذات الوصول الخاضع للرقابة.
  • ‫WALK: تحتسب إمكانية الوصول للمشاة على طول الأرصفة ومسارات المشاة والمسارات والشوارع التي يمكن للمشاة الوصول إليها، مع تعديل سرعة المشي حسب المنحدر. يتجاهل مسار المشي القيود المفروضة على المركبات ذات الاتجاه الواحد.

الأفق الزمني

القيد الأساسي الذي تقدّمه للخدمة هو travelDuration (travel_duration)، والذي يحدّد الأفق الزمني للحساب.

  • الحدّ الأدنى والحدّ الأقصى للمدّة: يجب أن تكون المدّة "1s" (ثانية واحدة) على الأقل. إذا كانت المدة صفرًا ("0s") أو سالبة أو أقل من ثانية واحدة (مثل "0.5s")، ستعرض الدالة الخطأ 400 INVALID_ARGUMENT. تتيح واجهة برمجة التطبيقات مدة رحلة تبلغ 3,600 ثانية (ساعة واحدة) كحدّ أقصى لوضعَي DRIVE وTWO_WHEELER، و7,200 ثانية (ساعتان) لوضعَي WALK وBICYCLE.
  • الحد الأدنى للمضلّع: بما أنّ واجهة برمجة التطبيقات تحوّل أجزاء الطرق التي تم الوصول إليها إلى خلايا شبكة مكانية، فإنّ المدد القصيرة جدًا تعرض مضلّعًا صغيرًا يغطي خلايا الشبكة حول نقطة الانطلاق التي تم تثبيتها.
  • الأداء: يتناسب وقت الحساب مع المدة المطلوبة ووسيلة النقل المحدّدة. يغطي خط التساوي الزمني للقيادة لمدة ساعة واحدة منطقة جغرافية وشبكة طرق أكبر بكثير من خط التساوي الزمني للمشي لمدة ساعة واحدة، ما يؤدي إلى زيادة وقت الاستجابة لطلب القيادة.
  • التنسيق: بما أنّ واجهة برمجة التطبيقات تستخدم google.protobuf.Duration، يجب تنسيق المدة كسلسلة تنتهي بـ "s" (على سبيل المثال، "3600s")، بدلاً من عدد صحيح.

نقاط الانطلاق ومطابقة الطرق

يمكنك تحديد نقطة البداية لخطوط التساوي الزمني بطريقتَين:

  • الإحداثيات (location): زوج من خطوط العرض والطول. يجب تقديم كل من latitude (بالدرجات) وlongitude (بالدرجات). في حال حذف أحدهما، ستتعامل واجهة برمجة التطبيقات معه على أنّه 0.0، ما يضع النقطة على خط الاستواء أو خط الطول الرئيسي.[-90, 90][-180, 180] إذا حذفت كليهما ({}) أو أرسلت (0, 0)، ستعرض واجهة برمجة التطبيقات الخطأ 400 INVALID_ARGUMENT.
  • أرقام تعريف الأماكن (place): معرّف فريد لمكان معيّن على "خرائط Google" عند تقديم معرّف مكان، تحوّل الخدمة المكان إلى إحداثيات نقطة المركز وتثبّت هذه النقطة على أقرب طريق. استخدِم تنسيق اسم المرجع الذي يبدأ بـ places/ (على سبيل المثال، places/ChIJIQBpAG2ahYAR_6128GcTUEo). يُقبل أيضًا رقم تعريف المكان بدون البادئة places/. لمزيد من المعلومات عن أرقام تعريف الأماكن، يُرجى الاطّلاع على أرقام تعريف الأماكن.

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

  • المحاذاة الذكية: تحاول الخدمة محاذاة نقطة الانطلاق مع أقرب جزء من الطريق يمكن عبوره.
  • التعرّف على الوضع: يأخذ منطق المحاذاة في الاعتبار travel_mode. إذا طلبت DRIVE أو TWO_WHEELER، تتجاهل واجهة برمجة التطبيقات المسارات المخصّصة للمشاة فقط وتبحث عن أقرب شارع يمكن القيادة فيه. إذا طلبت WALK، ستعطي واجهة برمجة التطبيقات الأولوية للمسارات والأرصفة المخصّصة للمشاة.
  • حالات تعذُّر العثور على طريق: إذا لم تتمكّن واجهة برمجة التطبيقات من العثور على جزء مناسب من الطريق ضمن الحد الأقصى لمسافة المحاذاة من نقطة الانطلاق (حوالي 200 متر أو أقل في WALK وBICYCLE)، ستعرض واجهة برمجة التطبيقات الخطأ 404 NOT_FOUND. قد يكون لبعض الخصائص الجغرافية الكبيرة (مثل المتنزّهات أو الجامعات أو المواقع ذات الإطلالات الخلابة) مركز ثقل لرقم تعريف المكان أبعد من مسافة الانجذاب من أقرب طريق يمكن استخدامه في وضع السفر. في هذه الحالات، مرِّر إحداثيات location الصريحة لمدخل الطريق بدلاً من ذلك.

اتجاه السفر (رحلات القدوم مقابل رحلات الذهاب)

يمكنك حساب إمكانية الوصول الواردة والصادرة باستخدام المَعلمة travelDirection (travel_direction):

  • FROM (رحلة الذهاب): تحتسب هذه السمة المنطقة التي يمكن الوصول إليها من نقطة الانطلاق ضمن المهلة الزمنية المحدّدة. وهذا مناسب لحالات الاستخدام مثل مناطق التسليم أو تغطية الخدمة.
  • TO (الرحلات القادمة): يتم احتساب المنطقة التي يمكنك السفر منها إلى نقطة الانطلاق خلال المهلة الزمنية المحدّدة. هذا الخيار مناسب لتحديد مناطق التجمّع، مثل الأماكن التي يمكن للموظفين التنقّل منها للوصول إلى مكتب مركزي.

الوعي بحركة المرور

يمكنك التحكّم في كيفية تأثير بيانات حركة المرور في المضلّع الذي يتم إنشاؤه باستخدام المَعلمة routingPreference (routing_preference):

  • TRAFFIC_UNAWARE (تلقائي): يستخدم هذا الخيار حدود السرعة في حركة المرور السلسة والتسلسل الهرمي للطرق لإنشاء مضلّع متساوي الزمن. يؤدي ذلك إلى شكل حتمي لا يتقلّب بناءً على الوقت من اليوم. هذه المَعلمة مثالية للتحليل العام أو التخطيط لسيناريو أساسي.
  • TRAFFIC_AWARE: يتم احتساب خطوط تساوي الزمن باستخدام أحوال حركة المرور المباشرة في الوقت المحدّد الذي تتم فيه معالجة الطلب (لا يمكن ضبط الطوابع الزمنية المخصّصة للمغادرة أو الوصول في المستقبل أو في الماضي في الإصدار 1). ويؤدي ذلك إلى تقلّص المنطقة التي يمكن الوصول إليها أثناء الازدحام وتوسّعها خلال ساعات غير الذروة. في ظل ظروف التدفق الحر أو غير الذروة، قد يعرض TRAFFIC_AWARE وTRAFFIC_UNAWARE مضلّعات متطابقة تقريبًا. ملاحظة: لا تتوفّر ميزة "التوجيه استنادًا إلى حركة المرور" إلا عند ضبط travelMode على DRIVE أو TWO_WHEELER.

التنعيم والدقة

يمكنك تخصيص مظهر المضلّعات الناتجة ودقتها باستخدام المَعلمتَين polygonFidelity (polygon_fidelity) وenableSmoothing (enable_smoothing). على الرغم من أنّ هذه الخيارات مستقلة، إلا أنّها تعمل معًا لتحديد الشكل النهائي.

  • ‫polygonFidelity: تتحكّم في دقة خلية الشبكة المكانية المستخدَمة لتقريب الحدود التي يمكن الوصول إليها:

    • ‫LOW: تستخدم أكبر خلايا شبكة (تمتد على مئات الأمتار). هذا الخيار هو الأفضل لتغطية مناطق كبيرة بعدد أقل من الرؤوس وبدون فجوات داخلية، ما ينتج عنه شكل عام قد يبالغ في تقدير المنطقة التي يمكن الوصول إليها على طول ممرات الطرق الضيقة.
    • MEDIUM: دقة متوازنة وعدد رؤوس متوازن
    • HIGH: تستخدم هذه القيمة أصغر خلايا الشبكة (حوالي 100 إلى 150 مترًا). يؤدي ذلك إلى ملاءمة أكثر إحكامًا لشبكة الطرق التي تم الوصول إليها، ولكن يمكن أن ينتج عنه ثقوب داخلية حيث تكون شبكة الطرق متناثرة.
    • POLYGON_FIDELITY_UNSPECIFIED: إذا لم يتم تحديد هذه المَعلمة، تختار الخدمة درجة الدقة تلقائيًا استنادًا إلى وسيلة النقل والمدة، باستخدام خلايا أدق للمدد القصيرة ولـ WALK، وخلايا أكبر للمدد الطويلة. لمقارنة خطوط تساوي الزمن عبر مُدد أو أوضاع سفر مختلفة، اضبط polygonFidelity بشكل صريح.
      دقة مضلّعات عالية ومتوسطة ومنخفضة
      دقة عالية ومتوسطة ومنخفضة للمضلّعات
  • ‫enableSmoothing: تتحكّم في ما إذا كان سيتم تقريب الحواف المتدرّجة لخلايا الشبكة المحدّدة حسب الدقة.

    • false (أولية): هذا هو الخيار التلقائي. تعرض هذه الدالة الحدود المتوافقة مع الشبكة. تظهر الحواف متدرجة على طول خلايا الشبكة. الأفضل للدقة التحليلية، مثل اختبارات النقطة في المضلع الصارمة.
    • true (مُنعَّمة): يتم تدوير الزوايا الحادة لعرض الخريطة المرئية مع الحفاظ على مساحة كل حلقة تقريبًا. لم تعد الحدود تتبع خلايا الشبكة.
      Isochrone with smoothing and without
      Isochrone مع ميزة التنعيم وبدونها