Google Maps Intents برای اندروید

برنامه Google Maps برای اندروید چندین هدف را نشان می‌دهد که می‌توانید از آنها برای راه‌اندازی Google Maps در حالت‌های نمایش، جستجو، ناوبری یا نمای خیابان استفاده کنید. اگر می‌خواهید نقشه‌ای را در برنامه خود جاسازی کنید، لطفاً به راهنمای شروع Google Maps Android API مراجعه کنید.

نمای کلی

Intent به شما امکان می دهد با توصیف یک عمل ساده که می خواهید انجام دهید (مانند "نمایش نقشه" یا "نمایش مسیرها به فرودگاه") در یک شیء Intent ، یک فعالیت را در برنامه دیگری شروع کنید. برنامه Google Maps برای Android از چندین هدف مختلف پشتیبانی می کند، به شما امکان می دهد برنامه Google Maps را راه اندازی کنید و یکی از چهار عمل زیر را انجام دهید:

  1. یک نقشه را در یک مکان مشخص و سطح بزرگنمایی نمایش دهید.
  2. مکان ها یا مکان ها را جستجو کنید و آنها را روی نقشه نمایش دهید.
  3. درخواست مسیرها از یک مکان به مکان دیگر. مسیرها را می توان برای سه حالت حمل و نقل بازگرداند: رانندگی، پیاده روی، دوچرخه سواری.
  4. نمایش تصاویر پانوراما در نمای خیابان گوگل.

این صفحه اهدافی را که می‌توانید با برنامه Google Maps برای اندروید استفاده کنید، شرح می‌دهد. برای اطلاعات بیشتر در مورد Intent ها و Intent Filters یا Intents مشترک در پلتفرم Android ، به مستندات توسعه دهنده Android مراجعه کنید.

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

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

  • اقدام : تمام اهداف Google Maps به عنوان یک کنش نمایش نامیده می‌شوند — ACTION_VIEW .
  • URI : اهداف Google Maps از URL کدگذاری شده استفاده می‌کنند که یک عمل مورد نظر را به همراه برخی داده‌ها برای انجام عمل مشخص می‌کند.
  • بسته : تماس با setPackage("com.google.android.apps.maps") اطمینان حاصل می کند که برنامه Google Maps برای Android با Intent مدیریت می کند. اگر بسته تنظیم نشده باشد، سیستم تعیین می کند که کدام برنامه ها می توانند Intent را مدیریت کنند. اگر چندین برنامه در دسترس باشد، ممکن است از کاربر پرسیده شود که می‌خواهد از کدام برنامه استفاده کند.

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

جاوا

// Create a Uri from an intent string. Use the result to create an Intent.
Uri gmmIntentUri = Uri.parse("google.streetview:cbll=46.414382,10.013988");

// Create an Intent from gmmIntentUri. Set the action to ACTION_VIEW
Intent mapIntent = new Intent(Intent.ACTION_VIEW, gmmIntentUri);
// 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);

کاتلین

// Create a Uri from an intent string. Use the result to create an Intent.
val gmmIntentUri = Uri.parse("google.streetview:cbll=46.414382,10.013988")

// Create an Intent from gmmIntentUri. Set the action to ACTION_VIEW
val mapIntent = Intent(Intent.ACTION_VIEW, gmmIntentUri)
// 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 خود فراخوانی کنید. اگر نتیجه غیر تهی باشد، حداقل یک برنامه وجود دارد که می تواند intent را مدیریت کند و فراخوانی startActivity() بی خطر است. اگر نتیجه null است، نباید از intent استفاده کنید و در صورت امکان، باید ویژگی را که intent را فراخوانی می کند غیرفعال کنید.

جاوا

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

کاتلین

mapIntent.resolveActivity(packageManager)?.let {
  ...
}

به عنوان مثال برای نمایش نقشه سانفرانسیسکو می توانید از کد زیر استفاده کنید:

جاوا

Uri gmmIntentUri = Uri.parse("geo:37.7749,-122.4194");
Intent mapIntent = new Intent(Intent.ACTION_VIEW, gmmIntentUri);
mapIntent.setPackage("com.google.android.apps.maps");
if (mapIntent.resolveActivity(getPackageManager()) != null) {
  startActivity(mapIntent);
}

کاتلین

val gmmIntentUri = Uri.parse("geo:37.7749,-122.4194")
val mapIntent = Intent(Intent.ACTION_VIEW, gmmIntentUri)
mapIntent.setPackage("com.google.android.apps.maps")
mapIntent.resolveActivity(packageManager)?.let {
  startActivity(mapIntent)
}

رشته های پرس و جو کدگذاری شده URL

تمام رشته‌های ارسال شده به Google Maps Intent باید URI رمزگذاری شده باشد. برای مثال، رشته "1st & Pike, Seattle" باید 1st%20%26%20Pike%2C%20Seattle شود. فضاهای رشته را می توان با %20 کدگذاری کرد یا با علامت مثبت (+) جایگزین کرد.

شما می توانید از متد android.net.Uri parse() برای رمزگذاری رشته های خود استفاده کنید. به عنوان مثال:

جاوا

Uri gmmIntentUri =
  Uri.parse("geo:37.7749,-122.4192?q=" + Uri.encode("1st & Pike, Seattle"));

کاتلین

val gmmIntentUri =
  Uri.parse("geo:37.7749,-122.4192?q=" + Uri.encode("1st & Pike, Seattle"))

نمایش نقشه

از geo: intent برای نمایش نقشه در یک مکان مشخص و سطح بزرگنمایی استفاده کنید.

geo:latitude,longitude?z=zoom

پارامترها

  • latitude و longitude نقطه مرکزی نقشه را تعیین می کند.
  • z به صورت اختیاری سطح زوم اولیه نقشه را تنظیم می کند. مقادیر پذیرفته شده از 0 (کل جهان) تا 21 (ساختمان های فردی) متغیر است. حد بالایی بسته به داده های نقشه موجود در مکان انتخاب شده می تواند متفاوت باشد.

نمونه ها

جاوا

// Creates an Intent that will load a map of San Francisco
Uri gmmIntentUri = Uri.parse("geo:37.7749,-122.4194");
Intent mapIntent = new Intent(Intent.ACTION_VIEW, gmmIntentUri);
mapIntent.setPackage("com.google.android.apps.maps");
startActivity(mapIntent);

کاتلین

// Creates an Intent that will load a map of San Francisco
val gmmIntentUri = Uri.parse("geo:37.7749,-122.4194")
val mapIntent = Intent(Intent.ACTION_VIEW, gmmIntentUri)
mapIntent.setPackage("com.google.android.apps.maps")
startActivity(mapIntent)

جستجو برای یک مکان

از این intent برای نمایش عبارت های جستجو در یک viewport مشخص استفاده کنید. هنگامی که پرس و جو دارای یک نتیجه واحد است، می توانید از این هدف برای نمایش پین در یک مکان یا آدرس خاص، مانند یک نقطه عطف، کسب و کار، ویژگی جغرافیایی یا شهر استفاده کنید.

geo:latitude,longitude?q=query
geo:0,0?q=my+street+address
geo:0,0?q=latitude,longitude(label)

پارامترها

علاوه بر پارامترهای مورد استفاده برای نمایش نقشه، Search از پارامترهای زیر نیز پشتیبانی می کند:

  • q مکان(های) را برای برجسته کردن روی نقشه تعریف می کند. پارامتر q برای تمام درخواست های جستجو مورد نیاز است. مکان را به عنوان نام مکان یا آدرس می پذیرد. رشته باید با URL رمزگذاری شود، بنابراین آدرسی مانند "City Hall, New York, NY" باید به City+Hall, New+York, NY تبدیل شود.

  • label به شما امکان می دهد یک برچسب سفارشی را در مکانی مشخص شده روی نقشه تنظیم کنید. label باید به عنوان یک رشته مشخص شود.

اگر یک عبارت جستجوی کلی را بپذیرید، Google Maps سعی می کند مکانی را نزدیک به lat/lng که مشخص کرده اید پیدا کند که با معیارهای شما مطابقت دارد. اگر مکانی مشخص نشده باشد، Google Maps سعی می‌کند فهرست‌های اطراف را پیدا کند. به عنوان مثال:

جاوا

// Search for restaurants nearby
Uri gmmIntentUri = Uri.parse("geo:0,0?q=restaurants");
Intent mapIntent = new Intent(Intent.ACTION_VIEW, gmmIntentUri);
mapIntent.setPackage("com.google.android.apps.maps");
startActivity(mapIntent);

// Search for restaurants in San Francisco
Uri gmmIntentUri = Uri.parse("geo:37.7749,-122.4194?q=restaurants");
Intent mapIntent = new Intent(Intent.ACTION_VIEW, gmmIntentUri);
mapIntent.setPackage("com.google.android.apps.maps");
startActivity(mapIntent);

کاتلین

// Search for restaurants nearby
val gmmIntentUri = Uri.parse("geo:0,0?q=restaurants")
val mapIntent = Intent(Intent.ACTION_VIEW, gmmIntentUri)
mapIntent.setPackage("com.google.android.apps.maps")
startActivity(mapIntent)

// Search for restaurants in San Francisco
val gmmIntentUri =
  Uri.parse("geo:37.7749,-122.4194?q=restaurants")
val mapIntent = Intent(Intent.ACTION_VIEW, gmmIntentUri)
mapIntent.setPackage("com.google.android.apps.maps")
startActivity(mapIntent)

جستجو برای رستوران ها در سانفرانسیسکو

می توانید با تعیین پارامتر بزرگنمایی به همراه رشته پرس و جو، نتایج جستجو را بیشتر سوگیری کنید. در مثال زیر، با افزودن زوم 10 سعی می شود رستوران ها را به جای نزدیکی در سطح شهر پیدا کنید.

جاوا

Uri gmmIntentUri = Uri.parse("geo:37.7749,-122.4194?z=10&q=restaurants");
Intent mapIntent = new Intent(Intent.ACTION_VIEW, gmmIntentUri);
mapIntent.setPackage("com.google.android.apps.maps");
startActivity(mapIntent);

کاتلین

val gmmIntentUri =
  Uri.parse("geo:37.7749,-122.4194?z=10&q=restaurants")
val mapIntent = Intent(Intent.ACTION_VIEW, gmmIntentUri)
mapIntent.setPackage("com.google.android.apps.maps")
startActivity(mapIntent)

با جستجوی یک آدرس خاص، یک پین در آن مکان نمایش داده می شود.

جاوا

Uri gmmIntentUri = Uri.parse("geo:0,0?q=1600 Amphitheatre Parkway, Mountain+View, California");
Intent mapIntent = new Intent(Intent.ACTION_VIEW, gmmIntentUri);
mapIntent.setPackage("com.google.android.apps.maps");
startActivity(mapIntent);

کاتلین

val gmmIntentUri =
  Uri.parse("geo:0,0?q=1600 Amphitheatre Parkway, Mountain+View, California")
val mapIntent = Intent(Intent.ACTION_VIEW, gmmIntentUri)
mapIntent.setPackage("com.google.android.apps.maps")
startActivity(mapIntent)

مثال بالا یک lat/lng 0 ، 0 را تنظیم می کند، اما یک آدرس را به عنوان رشته پرس و جو ارسال می کند. هنگام جستجو برای یک مکان بسیار خاص، طول و عرض جغرافیایی لازم نیست. با این حال، اگر آدرس دقیق را نمی‌دانید، می‌توانید با تعیین مختصات، نتایج جستجو را سوگیری کنید. به عنوان مثال، انجام جستجوی آدرس برای "خیابان اصلی" نتایج بسیار زیادی را نشان می دهد.

جاوا

// Searching for 'Main Street' will return too many results
Uri gmmIntentUri = Uri.parse("geo:0,0?q=101+main+street");

کاتلین

// Searching for 'Main Street' will return too many results
val gmmIntentUri = Uri.parse("geo:0,0?q=101+main+street")

افزودن lat/lng به URI قصد، نتایج را به سمت یک ناحیه خاص سوگیری می کند:

جاوا

// Searches for 'Main Street' near San Francisco
Uri gmmIntentUri = Uri.parse("geo:37.7749,-122.4194?q=101+main+street");
Intent mapIntent = new Intent(Intent.ACTION_VIEW, gmmIntentUri);
mapIntent.setPackage("com.google.android.apps.maps");
startActivity(mapIntent);

کاتلین

// Searches for 'Main Street' near San Francisco
val gmmIntentUri =
  Uri.parse("geo:37.7749,-122.4194?q=101+main+street")
val mapIntent = Intent(Intent.ACTION_VIEW, gmmIntentUri)
mapIntent.setPackage("com.google.android.apps.maps")
startActivity(mapIntent)

هنگامی که می دانید جستجوی شما یک مقدار واحد را برمی گرداند، ممکن است بخواهید یک برچسب اختیاری ارسال کنید. برچسب ها باید به عنوان یک رشته مشخص شوند و در زیر نشانگر نقشه ظاهر می شوند. توجه داشته باشید که برچسب ها فقط زمانی در دسترس هستند که q به عنوان مختصات lat/lng مشخص شده باشد.

جاوا

// Display a label at the location of Google's Sydney office
Uri gmmIntentUri = Uri.parse("geo:0,0?q=Google+Sydney@-33.8666,151.1957");
Intent mapIntent = new Intent(Intent.ACTION_VIEW, gmmIntentUri);
mapIntent.setPackage("com.google.android.apps.maps");
startActivity(mapIntent);

کاتلین

// Display a label at the location of Google's Sydney office
val gmmIntentUri =
  Uri.parse("geo:0,0?q=-33.8666,151.1957(Google+Sydney)")
val mapIntent = Intent(Intent.ACTION_VIEW, gmmIntentUri)
mapIntent.setPackage("com.google.android.apps.maps")
startActivity(mapIntent)

به عنوان جایگزینی برای آدرس خیابان یا طول/طول جغرافیایی، می‌توانید یک پین را در یک مکان شناخته شده با استفاده از یک کد مثبت نمایش دهید.

جاوا

// Display the location of Google, San Francisco using a global plus code.
Uri gmmIntentUri = Uri.parse("http://plus.codes/849VQJQ5+XX");
// Equivalently, define the same location using a local plus code
gmmIntentUri = Uri.parse("https://plus.codes/QJQ5+XX,San%20Francisco");
// Construct and use the Intent as in the examples above

کاتلین

// Display the location of Google, San Francisco using a global plus code.
var gmmIntentUri = Uri.parse("http://plus.codes/849VQJQ5+XX")
// Equivalently, define the same location using a local plus code
gmmIntentUri = Uri.parse("https://plus.codes/QJQ5+XX,San%20Francisco")
// Construct and use the Intent as in the examples above

راه اندازی ناوبری گام به گام

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

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

پارامترها

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

  • mode روش حمل و نقل را تعیین می کند. حالت اختیاری است و می توان آن را روی یکی از موارد زیر تنظیم کرد:

    • d برای رانندگی (پیش فرض)
    • b برای دوچرخه سواری
    • l برای دو چرخ
    • w برای پیاده روی
  • avoid مجموعه ویژگی هایی که مسیر باید سعی کند از آن اجتناب کند. اجتناب اختیاری است و می توان آن را روی یک یا چند مورد از موارد زیر تنظیم کرد:

    • t برای عوارض
    • h برای بزرگراه ها
    • f برای کشتی

نمونه ها

Intent زیر، پیمایش گام به گام به باغ وحش تارونگا، در سیدنی استرالیا را درخواست می کند:

جاوا

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

کاتلین

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

مسیرهای رفتن به باغ وحش تارونگا

اگر ترجیح می دهید عوارضی نپردازید یا سوار کشتی نشوید، می توانید درخواست مسیریابی کنید که سعی می کند از این موارد جلوگیری کند.

جاوا

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

کاتلین

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

اگر کمی ورزش را ترجیح می دهید، می توانید به جای آن مسیر دوچرخه سواری را درخواست کنید.

جاوا

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

کاتلین

val gmmIntentUri =
  Uri.parse("google.navigation:q=Taronga+Zoo,+Sydney+Australia&mode=b")
val mapIntent = Intent(Intent.ACTION_VIEW, gmmIntentUri)
mapIntent.setPackage("com.google.android.apps.maps")
startActivity(mapIntent)

اگر ترجیح می‌دهید از یک موتور دو چرخه استفاده کنید، می‌توانید درخواست کنید که مسیرها شامل جاده‌های باریک و مسیرهای غیرقابل دسترسی خودروها باشد. intent زیر مسیری را در هند برمی گرداند.

جاوا

Uri gmmIntentUri = Uri.parse("google.navigation:q=Connaught+Place,+New+Delhi,Delhi&mode=l");
Intent mapIntent = new Intent(Intent.ACTION_VIEW, gmmIntentUri);
mapIntent.setPackage("com.google.android.apps.maps");
startActivity(mapIntent);

کاتلین

val gmmIntentUri =
  Uri.parse("google.navigation:q=Connaught+Place,+New+Delhi,Delhi&mode=l")
val mapIntent = Intent(Intent.ACTION_VIEW, gmmIntentUri)
mapIntent.setPackage("com.google.android.apps.maps")
startActivity(mapIntent)

نمایش پانورامای نمای خیابان

از قصد google.streetview برای راه اندازی نمای خیابان Google استفاده کنید. نمای خیابان Google نماهای پانوراما را از مکان های تعیین شده در سراسر منطقه تحت پوشش خود ارائه می دهد. Photospheres و مجموعه‌های ویژه نمای خیابان توسط کاربر نیز موجود است.

google.streetview:cbll=latitude,longitude&cbp=0,bearing,0,zoom,tilt
google.streetview:panoid=id&cbp=0,bearing,0,zoom,tilt

پارامترها

همه URI های google.streetview باید شامل یک پارامتر cbll یا panoid باشند.

  • cbll طول و عرض جغرافیایی را به عنوان مقادیر جدا شده با کاما می پذیرد ( 46.414382,10.013988 ). برنامه پانورامای عکاسی شده را در نزدیکترین مکان به این مکان نمایش می دهد. از آنجایی که تصاویر نمای خیابان به طور دوره‌ای بازخوانی می‌شوند و ممکن است هر بار عکس‌ها از موقعیت‌های کمی متفاوت گرفته شوند، ممکن است هنگام به‌روزرسانی تصاویر، موقعیت مکانی شما به پانورامای متفاوتی تبدیل شود.

  • panoid یک شناسه پانوراما خاص است. اگر هم panoid و هم cbll مشخص شده باشد، Google Maps از شناسه پانوراما استفاده خواهد کرد. شناسه‌های پانوراما از شی StreetViewPanoramaLocation برای یک برنامه Android در دسترس هستند.

  • cbp یک پارامتر اختیاری است که جهت اولیه دوربین را تنظیم می کند. پارامتر cbp 5 مقدار جدا شده با کاما می گیرد که همه آنها اختیاری هستند. مهم ترین مقادیر دوم، چهارم و پنجم هستند که به ترتیب یاتاقان، زوم و شیب را تنظیم می کنند. مقادیر اول و سوم پشتیبانی نمی شوند و باید روی 0 تنظیم شوند.

    • bearing : جهت قطب نما دوربین را بر حسب درجه در جهت عقربه های ساعت از شمال نشان می دهد. شمال واقعی 0، شرق 90، جنوب 180، غرب 270 است. یعنی 0 درجه، 360 درجه و 720 درجه همه در یک جهت قرار دارند. بلبرینگ به عنوان دومین مقدار از پنج مقدار جدا شده با کاما تعریف می شود.
    • zoom : سطح زوم دوربین را تنظیم می کند. سطح بزرگنمایی پیش فرض روی 0 تنظیم شده است. بزرگنمایی 1 بزرگنمایی را دو برابر می کند. زوم بین 0 و حداکثر سطح بزرگنمایی برای پانورامای فعلی گیره است. این بدان معنی است که هر مقداری که خارج از این محدوده قرار گیرد، به نزدیکترین حدی که در محدوده قرار می گیرد، تنظیم می شود. به عنوان مثال، مقدار -1 روی 0 تنظیم می شود. بزرگنمایی چهارمین مقدار از پنج مقدار جدا شده با کاما است.
    • tilt : زاویه بالا یا پایین دوربین را مشخص می کند. محدوده 90- تا 0 تا 90 است که 90 مستقیم به پایین، 0 در مرکز افق و 90- مستقیم به بالا نگاه می کند.

نمونه ها

در زیر چند نمونه از استفاده از هدف نمای خیابان آورده شده است.

جاوا

// Displays an image of the Swiss Alps
Uri gmmIntentUri = Uri.parse("google.streetview:cbll=46.414382,10.013988");
Intent mapIntent = new Intent(Intent.ACTION_VIEW, gmmIntentUri);
mapIntent.setPackage("com.google.android.apps.maps");
startActivity(mapIntent);

// Uses a PanoID to show an image from Maroubra beach in Sydney, Australia
Uri gmmIntentUri = Uri.parse("google.streetview:panoid=Iaa2JyfIggYAAAQfCZU9KQ");
Intent mapIntent = new Intent(Intent.ACTION_VIEW, gmmIntentUri);
mapIntent.setPackage("com.google.android.apps.maps");
startActivity(mapIntent);

// Opens Street View between two Pyramids in Giza. The values passed to the
// cbp parameter will angle the camera slightly up, and towards the east.
Uri gmmIntentUri = Uri.parse("google.streetview:cbll=29.9774614,31.1329645&cbp=0,30,0,0,-15");
Intent mapIntent = new Intent(Intent.ACTION_VIEW, gmmIntentUri);
mapIntent.setPackage("com.google.android.apps.maps");
startActivity(mapIntent);

کاتلین

// Displays an image of the Swiss Alps
val gmmIntentUri =
  Uri.parse("google.streetview:cbll=46.414382,10.013988")
val mapIntent = Intent(Intent.ACTION_VIEW, gmmIntentUri)
mapIntent.setPackage("com.google.android.apps.maps")
startActivity(mapIntent)

// Uses a PanoID to show an image from Maroubra beach in Sydney, Australia
val gmmIntentUri =
  Uri.parse("google.streetview:panoid=Iaa2JyfIggYAAAQfCZU9KQ")
val mapIntent = Intent(Intent.ACTION_VIEW, gmmIntentUri)
mapIntent.setPackage("com.google.android.apps.maps")
startActivity(mapIntent)

// Opens Street View between two Pyramids in Giza. The values passed to the
// cbp parameter will angle the camera slightly up, and towards the east.
val gmmIntentUri =
  Uri.parse("google.streetview:cbll=29.9774614,31.1329645&cbp=0,30,0,0,-15")
val mapIntent = Intent(Intent.ACTION_VIEW, gmmIntentUri)
mapIntent.setPackage("com.google.android.apps.maps")
startActivity(mapIntent)

اهرام در نمای خیابان