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

برنامه Google Maps برای اندروید چندین هدف را نشان می‌دهد که می‌توانید از آنها برای راه‌اندازی Google Maps در حالت‌های نمایش، جستجو، ناوبری یا نمای خیابان استفاده کنید. برای جاسازی نقشه در برنامه خود، به Maps SDK for Android Quick Start مراجعه کنید.

برای پلتفرم‌های Android Automotive OS (AAOS)، ملاحظات و اهداف اضافی در دسترس است. برای جزئیات بیشتر به مستندات Google Maps for Android Automotive Intents مراجعه کنید.

نمای کلی

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

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

این صفحه اهدافی را که می‌توانید با برنامه Google Maps برای اندروید استفاده کنید، شرح می‌دهد. برای اطلاعات بیشتر درباره مقاصد، Intents and intent filters and Common intents را ببینید.

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

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

  • اقدام : تمام اهداف Google Maps به عنوان یک کنش نمایش نامیده می‌شوند — ACTION_VIEW .
  • URI : اهداف Google Maps از URI های کدگذاری شده با 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 loads 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 loads 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 تلاش می‌کند مکانی را در نزدیکی طول و عرض جغرافیایی که مشخص کرده‌اید پیدا کند که با معیارهای شما مطابقت داشته باشد. اگر مکانی مشخص نشده باشد، 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)
جستجو برای   رستوران‌های سانفرانسیسکو
شکل 1. جستجو برای رستوران ها در سانفرانسیسکو

می توانید با تعیین پارامتر بزرگنمایی به همراه رشته پرس و جو، نتایج جستجو را بیشتر سوگیری کنید. در مثال زیر، با اضافه کردن یک زوم 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)

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

جاوا

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

کاتلین

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

افزودن طول و عرض جغرافیایی به 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 به عنوان مختصات طول و عرض جغرافیایی مشخص شده باشد.

جاوا

// 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 preceding examples.

کاتلین

// 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 preceding examples.

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

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

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

پارامترها

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

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

    • d برای رانندگی (پیش فرض)
    • b برای دوچرخه سواری
    • l برای دو چرخ
    • w برای پیاده روی
  • avoid مجموعه ویژگی هایی که مسیر باید سعی کند از آن اجتناب کند. 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)
مسیرها   به باغ وحش تارونگا
شکل 2. مسیرها به باغ وحش تارونگا

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

جاوا

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 نماهای پانوراما را از مکان های تعیین شده در سراسر منطقه تحت پوشش خود ارائه می دهد. Photosphereهای ارائه شده توسط کاربر و مجموعه‌های ویژه نمای خیابان نیز در دسترس هستند.

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، غرب است
      1. ارزش‌هایی که به بلبرینگ‌ها منتقل می‌شوند. یعنی 0 درجه، 360 درجه و 720 درجه همه در یک جهت قرار دارند. بلبرینگ به عنوان دومین مقدار از پنج مقدار جدا شده با کاما تعریف می شود.
    • zoom : سطح زوم دوربین را تنظیم می کند. سطح بزرگنمایی پیش فرض روی 0 تنظیم شده است. بزرگنمایی 1 بزرگنمایی را دو برابر می کند. زوم بین 0 و حداکثر سطح بزرگنمایی برای پانورامای فعلی گیره است. این بدان معنی است که هر مقداری که خارج از این محدوده قرار می گیرد، به نزدیک ترین حدی که در محدوده قرار می گیرد، تنظیم می شود. به عنوان مثال، مقدار -1 روی 0 تنظیم شده است. Zoom چهارمین مقدار از پنج مقدار جدا شده با کاما است.
    • 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 angles 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 angles 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)
اهرام در نمای خیابان
شکل 3. اهرام در نمای خیابان