Google Maps for Android Automotive Intents

سلب مسئولیت

این محصول/ویژگی تغییر خواهد کرد و مشمول هیچ گونه قرارداد سطح خدمات (SLA) یا خط مشی منسوخ شدن نیست. این پیاده سازی ممکن است در نسخه های بعدی تغییر کند.

در مورد نرم‌افزار نمونه، فایل‌های داده و/یا کد منبعی که این مستندات را همراهی می‌کنند: این محصول «همان‌طور که هست» و بدون هیچ نوع ضمانتی ارائه می‌شود و Google صریحاً از هرگونه ضمانت‌نامه، اعم از صریح، ضمنی، قانونی یا موارد دیگر، خودداری می‌کند. از جمله ضمانت‌های بدون محدودیت در مورد خرید و فروش بودن، مناسب بودن برای یک هدف خاص و عدم نقض حقوق مربوط به این محصول.


از طریق Android Automotive intents، می‌توانید ناوبری را در Google Maps راه‌اندازی کنید.

برای اطلاعات بیشتر، Google Maps Intents for Android را ببینید.

برای اطلاعات بیشتر در مورد آوردن برنامه خود به وسایل نقلیه دارای سیستم عامل Android Auto یا Android Automotive، به Android for Cars مراجعه کنید.

نمای کلی

این صفحه اهدافی را که می‌توانید با Google Maps برای Android Automotive استفاده کنید، شرح می‌دهد. برای جزئیات مستندات توسعه دهنده اندروید، بخوانید:

درخواست های قصد

برای راه‌اندازی Google Maps برای Android Automotive با یک هدف، ابتدا باید یک شی Intent ایجاد کنید و عملکرد، URI و بسته آن را مشخص کنید.

  • اقدام همه مقاصد Google Maps به عنوان یک کنش نمایش، ACTION_VIEW نامیده می‌شوند.

  • URI. مقاصد Google Maps از رشته‌های رمزگذاری شده URI استفاده می‌کند که یک عمل مورد نظر را به همراه برخی داده‌ها برای انجام عمل مشخص می‌کند.

  • بسته. تماس با setPackage("com.google.android.apps.maps") تضمین می‌کند که برنامه Google Maps برای Android، Intent را مدیریت می‌کند. اگر بسته تنظیم نشده باشد، سیستم تعیین می کند که کدام برنامه می تواند Intent را مدیریت کند. اگر چندین برنامه در دسترس باشد، ممکن است از شما بپرسند که می خواهید از کدام برنامه استفاده کنید.

پس از ایجاد Intent، می‌توانید از راه‌های مختلفی درخواست کنید که سیستم برنامه مربوطه را راه‌اندازی کند. یک روش رایج این است که Intent را به متد startActivity() ارسال کنید. سیستم برنامه لازم، در این مورد، Google Maps را راه اندازی می کند و فعالیت مربوطه را شروع می کند.

// 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 پاسخ دهد، ممکن است برنامه شما از کار بیفتد. به همین دلیل، قبل از ارائه یکی از این اهداف به کاربر، ابتدا بررسی کنید که یک برنامه دریافت کننده نصب شده است.

برای تأیید اینکه یک برنامه برای دریافت intent در دسترس است، resolveActivity() در شی Intent خود فراخوانی کنید. اگر نتیجه غیر تهی باشد، حداقل یک برنامه وجود دارد که می تواند intent را مدیریت کند و فراخوانی startActivity() بی خطر است. اگر نتیجه صفر است، نباید از intent استفاده کنید و در صورت امکان، ویژگی را که intent را فراخوانی می کند غیرفعال کنید.

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 Maps Intent باید 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 Maps مراجعه کنید.

  • q نقطه پایانی را برای جستجوهای پیمایش تنظیم می کند. این می‌تواند یک آدرس طول و عرض جغرافیایی یا یک آدرس قالب‌بندی شده با درخواست باشد. اگر یک رشته کوئری است که بیش از یک نتیجه را برمی گرداند، اولین نتیجه انتخاب می شود.

  • place نقطه پایانی را روی خانه یا محل کار تنظیم می کند. خانه را برای پیمایش به خانه کاربر و work را برای پیمایش به محل کار کاربر مشخص کنید.

  • avoid مجموعه ویژگی هایی که مسیر باید سعی کند از آن اجتناب کند. avoid اختیاری است و می توان آن را روی یک یا چند مورد از موارد زیر تنظیم کرد:

    • t برای عوارض
    • h برای بزرگراه ها
    • f برای کشتی
  • waypoints یک یا چند مکان واسطه را برای مسیریابی مسیرها به مقصد نهایی مشخص شده توسط q مشخص می کند. شما می توانید چندین ایستگاه را با استفاده از کاراکتر لوله ( | ) برای جدا کردن مکان ها مشخص کنید - به عنوان مثال، Berlin,Germany|Paris,France . می توانید به تعداد مورد نیاز از ایستگاه های بین راه استفاده کنید. نقاط راه به همان ترتیبی که در URL فهرست شده اند به مسیر اضافه می شوند. هر نقطه راه می تواند یک آدرس یا مختصات طول و عرض جغرافیایی جدا شده با کاما باشد. و، می توانید آدرس ها و مختصات lat/long را در یک هدف داشته باشید. رشته ها باید دارای URL-Escape باشند، بنابراین نقاط بین راه مانند "برلین، آلمان|پاریس، فرانسه" باید به 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. گوگل سیدنی

  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 Maps ارسال کنید

از این هدف ناوبری چند مقصدی برای تعیین برخی مقصدها به عنوان توقف شارژ خودروی الکتریکی (EV) استفاده کنید. این هدف، که هدف چندراهی را گسترش می‌دهد، به رانندگان کمک می‌کند تا با همگام‌سازی اطلاعات توقف شارژ بین برنامه‌های برنامه‌ریزی سفر EV و Google Maps، شارژ باتری خودروی الکتریکی کافی را برای رسیدن به مقصد خود حفظ کنند.

برای توقف شارژ، اهداف سفر:

  • باید حاوی نام و lat-long باشد
  • ممکن است به صورت اختیاری دارای توان خروجی باشد تا برای محاسبه زمان شارژ استفاده شود

Google از نام ایستگاه شارژ و lat-long برای یافتن مکان ایستگاه شارژ منطبق برای نمایش داده‌های غنی مانند انواع رابط‌ها، مجموع، سرعت‌ها و در دسترس بودن هم‌زمان، روش‌های پرداخت پشتیبانی‌شده و نقاط مورد علاقه میزبان (POI) استفاده می‌کند. به عنوان مثال، مسیرهای رانندگی در پارکینگ های روباز برای بخش پایانی ناوبری، ساعات کار، رتبه بندی. برای اطمینان از اینکه ایستگاه‌های شارژ به خوبی با داده‌های Google مطابقت دارند، از <brand name> استفاده کنید، برای مثال ChargePoint .

پارامترها

مقصد نهایی

برای تنظیم ایستگاه شارژ به عنوان مقصد نهایی، از موارد زیر استفاده کنید:

  • q : باید حاوی مقدار lat-long ایستگاه شارژ باشد.
  • q_type : 1 مشخص می کند که مقصد نهایی یک ایستگاه شارژ است.
  • q_name : نام مقصد نهایی. اگر q_type 1 باشد الزامی است.
  • q_power_output_kw : یک عدد دو برابر برای شارژ خروجی برق ایستگاه شارژ بر حسب کیلووات. اختیاری.

نقاط راه

برای نقاط بین راه، همه پارامترها موازی هستند، آرایه های مقادیر جدا از هم به همان ترتیبی که ایستگاه های بین راهی هستند، بدون در نظر گرفتن مقصد نهایی. عدم تطابق در تعداد عناصر در آرایه های موازی به عنوان یک هدف نادرست تلقی می شود.

برای اضافه کردن یک یا چند ایستگاه شارژ، از پارامترهای زیر استفاده کنید که همه آنها اختیاری هستند. اگر یکی از مقصدها به‌عنوان ایستگاه شارژ علامت‌گذاری شده باشد، نام ایستگاه برای آن مقصد اجباری می‌شود.

  • waypoints : فهرستی از نقاط راه همانطور که در هدف ناوبری گام به گام توضیح داده شده است. برای ایستگاه‌های شارژ ایستگاه‌های شارژ باید یک مقدار lat-long باشد.

  • waypoint_types : انواع در هر نقطه راه که به عنوان یک عدد مشخص شده است. 0 هر توقف (مقدار پیش فرض) و 1 ایستگاه شارژ است.

  • waypoint_names : نام نقاط راه. این قسمت برای ایستگاه های شارژ اجباری است.

  • waypoint_power_outputs_kw : اعداد دوگانه برای شارژ ایستگاه شارژ بر حسب کیلووات. برای ایستگاه های شارژ، می توانید به صورت اختیاری یک مقدار خروجی توان نقطه بین راه را تعیین کنید، که در صورت پیدا نشدن ایستگاه منطبق، به عنوان بازگشتی استفاده می شود. شکاف خالی به این معنی است که هیچ ارزشی ارائه نشده است.

رفتار تجربه کاربر (UX).

برای اهداف سفر با مقصدهای متعدد، صفحه نمای کلی مسیر نمایش داده می شود، اما ناوبری به طور خودکار شروع نمی شود.

برای یک هدف درست قالب‌بندی شده، Google Maps یک صفحه نمای کلی مسیر را برای سفر ارائه می‌کند. صفحه نمای کلی مسیر، تمام نقاط بین راه و مقصد نهایی را با توصیه‌های شارژ در صورت لزوم نمایش می‌دهد.

برای هر نقطه بین راهی یا مقصد نهایی که به عنوان ایستگاه شارژ مشخص شده است، Google Maps مکان منطبق را در پایگاه داده Google جستجو می کند.

در جایی که مطابقت پیدا می شود، Google Maps از داده های Google برای نمایش ایستگاه شارژ در رابط کاربری (UI) و ارائه توصیه شارژ برای ایستگاه شارژ استفاده می کند. اگر مطابقت پیدا نشد، داده‌های ارائه شده در هدف یک ایستگاه شارژ (Lat-long، نام و توان خروجی) برای نمایش این ایستگاه شارژ در رابط کاربری و ارائه توصیه شارژ در این ایستگاه شارژ استفاده می‌شود.

نمونه ها

از طریق چندین ایستگاه شارژ به مقصد نهایی بروید

هدف زیر از طریق دو ایستگاه شارژ ChargePoint و Evie به مقصد نهایی، Port Macquarie NSW می‌رود.

مقاصد به ترتیب:

  1. ایستگاه شارژ ChargePoint (مکان: -32.9599188,151.6240806، توان خروجی: 6.6kw)

  2. ایستگاه شارژ Evie (مکان: -31.9432539،152.4699808، توان خروجی: 350kw)

  3. پورت مک کواری NSW

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. پورت مک کواری NSW

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، توان خروجی: 350kw)

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);

مقاصد عمل

اهداف عمل زیر با رابط ها در دسترس هستند:

اقدام توضیحات
geo.action:?act=mute تمام راهنمایی‌های صوتی ناوبری را بی‌صدا می‌کند.
geo.action:?act=unmute راهنمای صوتی ناوبری را بی صدا می کند.
geo.action:?act=show_traffic خطوط ترافیک را روی نقشه نشان می دهد.
geo.action:?act=hide_traffic خطوط ترافیک را روی نقشه پنهان می کند.
geo.action:?act=show_satellite تصاویر ماهواره ای را روی نقشه نشان می دهد.
geo.action:?act=hide_satellite تصاویر ماهواره ای را روی نقشه پنهان می کند.
geo.action:?act=query_next_turn Google Maps در نوبت بعدی صحبت می کند (فقط در هنگام پیمایش کار می کند).
geo.action:?act=distance_to_next_turn Google Maps فاصله تا پیچ بعدی را بیان می کند (فقط در هنگام ناوبری کار می کند).
geo.action:?act=time_to_next_turn Google Maps زمان نوبت بعدی را نشان می‌دهد (فقط در هنگام پیمایش کار می‌کند).
geo.action:?act=distance_to_destination Google Maps فاصله تا مقصد را بیان می کند (فقط در هنگام ناوبری کار می کند).
geo.action:?act=go_back Google Maps به صفحه قبلی در رابط کاربری بازمی گردد.
geo.action:?act=query_current_road نقشه های گوگل از جاده فعلی صحبت می کند.
geo.action:?act=query_destination نقشه گوگل مقصد را بیان می کند.
geo.action:?act=apply_electric_vehicle_connector_filter فیلتر نوع رابط را برای نتایج جستجوی ایستگاه شارژ خودروی الکتریکی اعمال می کند.
geo.action:?act=remove_electric_vehicle_connector_filter فیلتر نوع رابط را برای نتایج جستجوی ایستگاه شارژ خودروی الکتریکی حذف می کند.
geo.action:?act=apply_electric_vehicle_payment_filter فیلتر پرداخت را برای نتایج جستجوی ایستگاه شارژ خودروی الکتریکی اعمال می کند.
geo.action:?act=remove_electric_vehicle_payment_filter فیلتر پرداخت را برای نتایج جستجوی ایستگاه شارژ خودروی الکتریکی حذف می کند.
geo.action:?act=apply_electric_vehicle_fast_charging_filter فیلتر شارژ سریع را برای نتایج جستجوی ایستگاه شارژ خودروی الکتریکی اعمال می کند.
geo.action:?act=remove_electric_vehicle_fast_charging_filter فیلتر شارژ سریع نتایج جستجوی ایستگاه شارژ خودروی الکتریکی را حذف می کند.
geo.action:?act=avoid_tolls اگر کاربر در حال پیمایش است، به Google Maps می‌گوید از مسیرهای دارای عوارض اجتناب کند. اگر مسیر فعلی دارای عوارض باشد، ممکن است منجر به تغییر مسیر شود.
geo.action:?act=allow_tolls اگر کاربر در حال پیمایش است، به Google Maps می‌گوید که مسیرهای دارای عوارض را مجاز کند. این ممکن است منجر به تغییر مسیر شود اگر اجازه دادن به عوارض منجر به در دسترس بودن مسیر بهتری شود.
geo.action:?act=avoid_ferries اگر کاربر در حال پیمایش است، به Google Maps می‌گوید از مسیرهای با کشتی اجتناب کند. اگر مسیر فعال فعلی دارای کشتی باشد، ممکن است منجر به تغییر مسیر شود.
geo.action:?act=allow_ferries اگر کاربر در حال پیمایش است، به Google Maps می‌گوید که مسیرهای با کشتی را مجاز کند. اگر اجازه دادن به کشتی‌ها باعث شود مسیر بهتری در دسترس باشد، ممکن است منجر به تغییر مسیر شود.
geo.action:?act=avoid_highways اگر کاربر در حال پیمایش است، به Google Maps می‌گوید از مسیرهای دارای بزرگراه اجتناب کند. اگر مسیر فعال فعلی دارای بزرگراه باشد، ممکن است منجر به تغییر مسیر شود.
geo.action:?act=allow_highways اگر کاربر در حال پیمایش است، به Google Maps می‌گوید مسیرهای دارای بزرگراه را مجاز کند. اگر اجازه دادن به بزرگراه‌ها باعث شود مسیر بهتری در دسترس باشد، ممکن است منجر به تغییر مسیر شود.
geo.action:?act=eta اگر کاربر در حال پیمایش است، Google Maps زمان تخمینی رسیدن به مقصد را بیان می کند (مثلاً 9:15 صبح).
geo.action:?act=time_to_destination اگر کاربر در حال پیمایش باشد، Google Maps زمان مورد انتظار را به مقصد (مثلاً 15 دقیقه) بیان می کند.
geo.action:?act=exit_navigation از ناوبری خارج می شود.
geo.action:?act=select_search_result&id=0 اگر نتایج جستجو در حال حاضر روی صفحه نمایش داده می شود (به زیر مراجعه کنید)، پیمایش را به n بر اساس پارامتر ID ارائه شده آغاز می کند. توجه داشته باشید که ایندکس مبتنی بر 0 است (یعنی هدف بالا اولین نتیجه را در لیست انتخاب می کند).

نتایج جستجو روی صفحه نمایش داده می شود