أغراض خرائط Google لنظام التشغيل Android Automotive

إخلاء المسؤولية

سيتم تغيير هذا المنتج أو الميزة، ولا يخضعان لأي اتفاقية مستوى خدمة (SLA) أو سياسة إيقاف نهائي. يخضع التنفيذ للتغيير في الإصدارات المستقبلية.

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


من خلال نوايا Android Automotive، يمكنك بدء التنقّل في "خرائط Google".

لمزيد من المعلومات، يُرجى الاطّلاع على Intents في "خرائط Google" لأجهزة Android.

لمزيد من المعلومات حول توفير تطبيقك للمركبات التي تعمل إما بنظام Android Auto أو نظام التشغيل Android Automotive، يُرجى الاطّلاع على Android للسيارات.

نظرة عامة

توضّح هذه الصفحة الأهداف التي يمكنك استخدامها مع "خرائط Google" لنظام التشغيل Android Automotive. للحصول على مستندات مطوّري تطبيقات Android المفصّلة، يُرجى الاطّلاع على:

طلبات الأهداف

لتشغيل "خرائط Google" لنظام التشغيل Android Automotive باستخدام هدف، عليك أولاً إنشاء عنصر Intent، مع تحديد الإجراء وعنوان URL والحزمة.

  • الإجراء: يتمّ استدعاء جميع أهداف "خرائط Google" كإجراء عرض، ACTION_VIEW.

  • معرّف الموارد المنتظم (URI) تستخدِم نوايا "خرائط Google" سلاسل مُرمّزة لمعرّفات الموارد المنتظمة (URI) التي تحدّد الإجراء المطلوب، بالإضافة إلى بعض البيانات التي يتم تنفيذ الإجراء بها.

  • الحزمة: يضمن استدعاء setPackage("com.google.android.apps.maps") أن يعالج تطبيق "خرائط Google" لنظام التشغيل Android طلب البيانات. إذا لم يتم تحديد الحزمة، يحدِّد النظام التطبيقات التي يمكنها معالجة الطلب. إذا كانت هناك عدة تطبيقات متاحة، قد يُطلب منك اختيار التطبيق الذي تريد استخدامه.

بعد إنشاء النية، يمكنك طلب تشغيل التطبيق ذي الصلة من خلال النظام بعدة طرق. ومن الطرق الشائعة تمرير Intent إلى الطريقة [startActivity()]. سيشغّل النظام التطبيق اللازم، وهو في هذه الحالة "خرائط Google"، وسيبدأ النشاط المقابل.

// Create a Uri from an intent string. Use the result to create an Intent.
Uri mapIntentUri =
Uri.parse("google.navigation:q=Taronga+Zoo,+Sydney+Australia");
// Create an Intent from mapIntentUri. Set the action to ACTION_VIEW
Intent mapIntent = new Intent(Intent.ACTION_VIEW, mapIntentUri);
// Make the Intent explicit by setting the Google Maps package
mapIntent.setPackage("com.google.android.apps.maps");
// Attempt to start an activity that can handle the Intent
startActivity(mapIntent);

إذا لم يتمكّن النظام من تحديد تطبيق يمكنه الاستجابة للIntent، قد يتعطل تطبيقك. لهذا السبب، تأكَّد أولاً من أنّ تطبيق المستلِم مثبَّت قبل عرض أحد هذه النوايا للمستخدم.

للتأكّد من توفّر تطبيق لتلقّي الطلب، يمكنك استدعاء [resolveActivity()] على عنصر [Intent]. إذا كانت النتيجة غير فارغة، يعني ذلك أنّ هناك تطبيقًا واحدًا على الأقل يمكنه معالجة النية وأنّه من الآمن الاتصال [startActivity()]. إذا كانت النتيجة فارغة، يجب عدم استخدام النية، وإيقاف الميزة التي تستدعي النية إن أمكن.

if (mapIntent.resolveActivity(getPackageManager()) != null) {
...
}

على سبيل المثال، لبدء التنقّل باتجاهات تفصيلية إلى حديقة حيوان تارونجا في سيدني، يمكنك استخدام الرمز البرمجي التالي:

Uri mapIntentUri = Uri.parse("google.navigation:q=Taronga+Zoo,+Sydney+Australia");
Intent mapIntent = new Intent(Intent.ACTION_VIEW, mapIntentUri);
mapIntent.setPackage("com.google.android.apps.maps");
if (mapIntent.resolveActivity(getPackageManager()) != null) {
startActivity(mapIntent);
}

سلاسل طلبات البحث المشفَّرة باستخدام معرّف الموارد المنتظم (URI)

يجب أن تكون جميع السلاسل التي يتم تمريرها إلى "النوايا" في "خرائط Google" مُشفَّرة باستخدام معرّف الموارد المنتظم (URI). على سبيل المثال، يجب أن تصبح السلسلة "1st & Pike, Seattle"‏ 1st%20%26%20Pike%2C%20Seattle. يمكن ترميز المسافات في السلسلة باستخدام %20 أو استبدالها بعلامة الجمع (+).

يمكنك استخدام الطريقة android.net.Uri parse() لتشفير سلاسل النصوص. على سبيل المثال:

Uri mapIntentUri = Uri.parse("google.navigation:q=" + Uri.encode("1st & Pike, Seattle"));

بدء التنقّل باتّجاهات مفصّلة

استخدِم هذا الإجراء لبدء التنقّل في "خرائط Google" باستخدام الاتجاهات المفصّلة للوصول إلى عنوان أو إحداثيات واحدة أو عدة عناوين أو إحداثيات محدّدة. يتم دائمًا تقديم الاتجاهات من الموقع الجغرافي الحالي للمستخدم.

google.navigation:q=a+street+address
google.navigation:q=latitude,longitude
google.navigation:place=placename

المعلمات

لبدء التنقّل، استخدِم place أو q مع waypoints، وهو اختياري. لوضع علامة اختيارية على نقطة طريق كمحطة شحن، اطّلِع على مقالة إرسال خطة رحلة لمركبة كهربائية إلى "خرائط Google".

  • تُستخدَم q لضبط نقطة نهاية عمليات البحث عن التنقّل. يمكن أن يكون ذلك خط عرض/خط طول أو عنوان منسَّق لطلب بحث. إذا كانت سلسلة طلب بحث تؤدي إلى عرض أكثر من نتيجة واحدة، سيتم اختيار النتيجة الأولى.

  • place تضبط نقطة النهاية على المنزل أو العمل. حدِّد المنزل للانتقال إلى منزل المستخدم، وحدِّد العمل للانتقال إلى مكان عمل المستخدم.

  • تُستخدَم avoid لتحديد العناصر التي يجب أن يحاول المسار تجنُّبها. العمود avoid اختياري ويمكن ضبطه على واحد أو أكثر مما يلي:

    • t لرسوم العبور
    • h للطرق السريعة
    • f للعبّارات
  • يحدّد waypoints مكانًا وسيطًا واحدًا أو أكثر لتوجيه الاتجاهات إلى الوجهة النهائية التي حدّدها q. يمكنك تحديد نقاط طريق متعددة باستخدام رمز الشرطة الرأسية (|) لفصل الأماكن، على سبيل المثال، Berlin,Germany|Paris,France. يمكنك استخدام أي عدد تريده من نقاط الالتفاف. ستتم إضافة نقاط الالتفاف إلى المسار بالترتيب نفسه المُدرَج في عنوان URL. يمكن أن يكون كلّ نقطة طريق عنوانًا أو إحداثيات خطوط عرض/طول مفصولة بفواصل، ويمكنك استخدام عناوين وإحداثيات خطوط عرض/طول في الطلب نفسه. يجب ترميز النصوص بترميز URL، لذلك يجب تحويل نقاط التوقف مثل "القاهرة،مصر|الإسكندرية،مصر" إلى Berlin%2CGermany%7CParis%2CFrance.

أمثلة

سيطلب هذا الطلب التنقّل من خلال اتّباع خطوات تفصيلية إلى حديقة حيوانات تارونغا في سيدني، أستراليا:

Uri mapIntentUri = Uri.parse("google.navigation:q=Taronga+Zoo,+Sydney+Australia");
Intent mapIntent = new Intent(Intent.ACTION_VIEW, mapIntentUri);
mapIntent.setPackage("com.google.android.apps.maps");
startActivity(mapIntent);

إذا كنت تفضّل عدم دفع رسوم الطرق أو ركوب عبارة، يمكنك طلب مسار يحاول تجنُّب الحالات التالية:

Uri mapIntentUri = Uri.parse("google.navigation:q=Taronga+Zoo,+Sydney+Australia&avoid=tf");
Intent mapIntent = new Intent(Intent.ACTION_VIEW, mapIntentUri);
mapIntent.setPackage("com.google.android.apps.maps");
startActivity(mapIntent);

إذا كنت تفضّل الانتقال إلى منزلك، يمكنك استخدام:

Uri mapIntentUri = Uri.parse("google.navigation:place=home");
Intent mapIntent = new Intent(Intent.ACTION_VIEW, mapIntentUri);
mapIntent.setPackage("com.google.android.apps.maps");
startActivity(mapIntent);

لبدء التنقّل من خلال التنقلات التفصيلية إلى العناوين الثلاثة التالية بالترتيب، اضبط حديقة حيوانات تارونغا كوجهة نهائية q، و"Google Sydney" و"دار أوبرا سيدني" كنقاط الطريق:

  1. Google Sydney

  2. دار أوبرا سيدني

  3. حديقة حيوان تارونجا، سيدني، أستراليا

Uri mapIntentUri = Uri.parse("google.navigation:q=Taronga+Zoo,+Sydney+Australia&waypoints=Google+Sydney%7CSydney+Opera+House");
Intent mapIntent = new Intent(Intent.ACTION_VIEW, mapIntentUri);
mapIntent.setPackage("com.google.android.apps.maps");
startActivity(mapIntent);

على غرار q، يمكنك تمثيل أيّ من نقاط التوقف باستخدام خط العرض وخط الطول مفصولَين بفواصل بدلاً من عنوان. على سبيل المثال، لبدء التنقّل نفسه مع إدخال خط العرض وخط الطول لدار الأوبرا في سيدني بدلاً من العنوان:

Uri mapIntentUri = Uri.parse("google.navigation:q=Taronga+Zoo,+Sydney+Australia&waypoints=Google+Sydney%7C-33.856159,151.215256");
Intent mapIntent = new Intent(Intent.ACTION_VIEW, mapIntentUri);
mapIntent.setPackage("com.google.android.apps.maps");
startActivity(mapIntent);

إرسال خطة رحلة لمركبة كهربائية إلى "خرائط Google"

استخدِم نية التنقّل هذه التي تتضمّن وجهات متعدّدة لتحديد بعض الوجهات على أنّها محطات شحن المركبات الكهربائية. يساعد هذا الطلب، الذي يوسع نطاق طلب نقاط التوقف المتعددة، السائقين في الحفاظ على شحن كافٍ لbatery المركبات الكهربائية للوصول إلى وجهاتهم من خلال مزامنة معلومات محطات الشحن بين تطبيقات تخطيط الرحلات بالمركبات الكهربائية و"خرائط Google".

بالنسبة إلى محطات الشحن، تشمل أهداف الرحلة ما يلي:

  • يجب أن يحتوي على الاسم وخطوط الطول والعرض
  • قد يحتوي اختياريًا على طاقة الإخراج، لاستخدامها في احتساب وقت الشحن

تستخدِم Google اسم محطة الشحن وخطوط الطول والعرض للعثور على مكان محطة شحن مطابق لعرض بيانات غنية، مثل أنواع المقبس والإجماليات والسرعات ومدى التوفّر في الوقت الفعلي وطرق الدفع المتاحة ونقاط الاهتمام المستضافة (POI). على سبيل المثال، اتجاهات القيادة ضمن مواقف السيارات الخارجية للجزء الأخير من التنقّل، وساعات العمل، والتقييمات لضمان تطابق محطات الشحن بشكل جيد مع بيانات Google، استخدِم <brand name>، على سبيل المثال ChargePoint.

المعلمات

الوجهة النهائية

لضبط محطة شحن كوجهة نهائية، استخدِم:

  • q: يجب أن يحتوي على قيمة خط الطول والعرض لمحطة الشحن.
  • q_type: يحدِّد 1 أنّ الوجهة النهائية هي محطة شحن.
  • q_name: اسم الوجهة النهائية مطلوبة إذا كانت قيمة q_type هي 1.
  • q_power_output_kw: رقم مزدوج لإخراج طاقة محطة الشحن بالكلمات كيلوواط اختيارية:

نقاط الطريق

بالنسبة إلى نقاط التوقف، تكون جميع المَعلمات متوازية، وهي مصفوفات مفصولة بشرطة مائلة |- من قيم بالترتيب نفسه لنقاط التوقف، باستثناء الوجهة النهائية. يتم التعامل مع عدم التطابق في عدد العناصر في الصفيفات الموازية على أنّه نية ذات تنسيق غير صحيح.

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

  • waypoints: قائمة بالنقاط المحورية كما هو موضّح في ميزة التنقّل بالتفصيل يجب أن تكون قيمة خط الطول والعرض لنقاط الطريق في محطات الشحن.

  • waypoint_types: الأنواع لكل نقطة طريق محدّدة كرقم 0 هي أي محطة (القيمة التلقائية) و1 هي محطة الشحن.

  • waypoint_names: أسماء نقاط الطريق هذا الحقل إلزامي لمحطات الصعق الكهربي.

  • waypoint_power_outputs_kw: أرقام مضاعفة لقوة محطة الشحن بالواط بالنسبة إلى محطات الشحن، يمكنك اختياريًا تحديد قيمة ناتج طاقة عند نقطة الطريق، والتي تُستخدَم كخيار احتياطي في حال عدم العثور على المحطة المطابقة. تشير الفتحة الفارغة إلى عدم تقديم أي قيمة.

سلوك تجربة المستخدم (UX)

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

إذا كانت النية منسقة بشكل صحيح، ستعرض "خرائط Google" شاشة عامة عن المسار للرحلة. ستعرض شاشة النظرة العامة على المسار جميع نقاط الالتفاف و الوجهة النهائية من الطلب، مع اقتراحات بشأن محطات الشحن عند الضرورة.

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

عند العثور على مطابقة، تستخدم "خرائط Google" بيانات Google لعرض محطة التحليق في واجهة المستخدم وتقديم اقتراح بشأن محطة التحليق. في حال عدم العثور على مطابقة، سيتم استخدام البيانات المقدَّمة في الطلب المتعلّق بأحد محطات الشحن (خطوط الطول والعرض والاسم وقدرة الإخراج) لعرض محطة الشحن هذه في واجهة المستخدم وتقديم اقتراح للشحن في محطة الشحن هذه.

أمثلة

الانتقال إلى وجهة نهائية من خلال محطات شحن متعددة

ينقل الإجراء التالي إلى الوجهة النهائية، وهي Port Macquarie NSW، من خلال محطتَي شحن، وهما ChargePoint وEvie.

الوجهات بالترتيب:

  1. محطة شحن ChargePoint (الموقع الجغرافي: -32.9599188,151.6240806، قدرة الإخراج: 6.6kw)

  2. محطة شحن Evie (الموقع الجغرافي: -31.9432539,152.4699808، قدرة الإخراج: 350kw)

  3. بورت ماكواري، نيو ساوث ويلز

Uri mapIntentUri =
    Uri.parse(
        "google.navigation:q=Port+Macquarie+NSW"
            + "&waypoints=-32.9599188%2C151.6240806%7C-31.9432539%2C152.4699808"
            + "&waypoint_types=1%7C1"
            + "&waypoint_names=ChargePoint+Charging+Station%7CEvie+Charging+Station"
            + "&waypoint_power_outputs_kw=6.6%7C350");
Intent mapIntent = new Intent(Intent.ACTION_VIEW, mapIntentUri);
mapIntent.setPackage("com.google.android.apps.maps");
startActivity(mapIntent);

ناتج طاقة غير معروف

إذا كانت قيمة خرج الطاقة غير معروفة، اترك خانة waypoint_power_outputs_kw ذات الصلة فارغة. أو إذا كانت جميع الفتحات فارغة، ليس عليك تحديد المَعلمة waypoint_power_outputs_kw.

الوجهات بالترتيب:

  1. محطة شحن ChargePoint (الموقع الجغرافي: -32.9599188,151.6240806، ناتج الطاقة: غير معروف)

  2. بورت ماكواري، نيو ساوث ويلز

Uri mapIntentUri =
    Uri.parse(
        "google.navigation:q=Port+Macquarie+NSW"
            + "&waypoints=-32.9599188%2C151.6240806"
            + "&waypoint_types=1"
            + "&waypoint_names=ChargePoint+Charging+Station");
Intent mapIntent = new Intent(Intent.ACTION_VIEW, mapIntentUri);
mapIntent.setPackage("com.google.android.apps.maps");
startActivity(mapIntent);

وضع علامة على الوجهة النهائية باعتبارها محطة شحن

لوضع علامة على الوجهة النهائية بأنّها محطة شحن، حدِّد المَعلمات q_type وq_name وq_power_output_kw.

الوجهات بالترتيب:

  1. حديقة حيوان تارونغا، سيدني، أستراليا

  2. محطة شحن ChargePoint (الموقع الجغرافي: -32.9599188,151.6240806، ناتج الطاقة: غير معروف)

  3. محطة شحن Evie (الموقع الجغرافي: -31.9432539,152.4699808، ناتج الطاقة: 350 كيلوواط)

Uri mapIntentUri =
    Uri.parse(
        "google.navigation:q=-31.9432539,152.4699808&q_type=1&q_name=Evie+Charging+Station&q_power_output_kw=350"
            + "&waypoints=Taronga+Zoo%2C+Sydney+Australia%7C-32.9599188%2C151.6240806"
            + "&waypoint_types=0%7C1"
            + "&waypoint_names=%7CChargePoint+Charging+Station"
            + "&waypoint_power_outputs_kw=%7C");
Intent mapIntent = new Intent(Intent.ACTION_VIEW, mapIntentUri);
mapIntent.setPackage("com.google.android.apps.maps");
startActivity(mapIntent);