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

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

نظرة عامة

تتيح لك الأغراض بدء نشاط في تطبيق آخر من خلال وصف إجراء بسيط تريد تنفيذه (مثل "عرض خريطة" أو "عرض الاتجاهات إلى المطار") في عنصر Intent. يدعم تطبيق خرائط Google لنظام التشغيل Android العديد من الأغراض المختلفة، مما يسمح لك بتشغيل تطبيق خرائط Google وتنفيذ أحد الإجراءات الأربعة:

  1. عرض الخريطة في موقع محدد ومستوى التكبير/التصغير.
  2. ابحث عن المواقع أو الأماكن، واعرضها على خريطة.
  3. اطلب الاتجاهات من موقع جغرافي إلى آخر. يمكن إرجاع الاتجاهات لثلاث وسائل نقل: القيادة والمشي وركوب الدراجات.
  4. عرض الصور البانورامية في التجوّل الافتراضي من Google.

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

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

لإطلاق "خرائط Google" لغرض، يجب أولاً إنشاء كائن Intent، مع تحديد الإجراء ومعرّف الموارد المنتظم (URI) والحزمة.

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

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

Java

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

Kotlin

// 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. وإذا كانت النتيجة غير فارغة، يتوفّر تطبيق واحد على الأقل يمكنه معالجة القصد ويمكن طلبه بأمان startActivity(). إذا كانت النتيجة null، يجب عدم استخدام intent، وإن أمكن، عليك إيقاف الميزة التي تستدعي intent.

Java

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

Kotlin

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

على سبيل المثال، لعرض خريطة سان فرانسيسكو، يمكنك استخدام الرمز التالي:

Java

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

Kotlin

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

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

ويمكنك استخدام الإجراء parse() android.net.Uri لترميز السلاسل. مثال:

Java

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

Kotlin

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

عرض خريطة

استخدِم الغرض من السمة geo: لعرض خريطة في موقع جغرافي محدَّد ومستوى تكبير/تصغير محدّد.

geo:latitude,longitude?z=zoom

المعلّمات

  • تم ضبط نقطة مركزية على الخريطة من قِبل latitude وlongitude.
  • تتيح لك ميزة z تحديد مستوى التكبير/التصغير الأولي للخريطة اختياريًا. تتراوح القيم المقبولة من 0 (العالم كله) إلى 21 (المباني الفردية). يمكن أن يختلف الحد الأقصى بناءً على بيانات الخريطة المتوفرة في الموقع المحدد.

أمثلة

Java

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

Kotlin

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

البحث عن موقع

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

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

المعلّمات

بالإضافة إلى المَعلمات المُستخدَمة لعرض خريطة، يتيح محرّك بحث Google استخدام المَعلمات التالية:

  • تحدّد السمة q الأماكن التي يجب تمييزها على الخريطة. أما المعلَمة q، فهي مطلوبة لجميع طلبات البحث. يتم قبول الموقع إما كاسم مكان أو عنوان. يجب أن تكون السلسلة بترميز عنوان URL، لذا يجب تحويل عنوان مثل "City Hall, New York, NY" إلى City+Hall,New+York,NY.

  • يتيح لك label تحديد تصنيف مخصّص في مكان محدّد على الخريطة. يجب تحديد label كسلسلة.

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

Java

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

Kotlin

// 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 محاولة العثور على المطاعم على مستوى المدينة بدلاً من القريبة.

Java

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

Kotlin

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)

سيؤدي البحث عن عنوان معيّن إلى عرض دبوس في هذا الموقع الجغرافي.

Java

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

Kotlin

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، ولكنه يمرّر العنوان كسلسلة طلب بحث. عند البحث عن موقع محدد للغاية، لا يكون خط العرض وخط الطول مطلوبًا. ومع ذلك، إذا كنت لا تعرف العنوان الدقيق، فيمكنك محاولة تحيز نتائج البحث من خلال تحديد الإحداثي. على سبيل المثال، سيؤدي إجراء بحث عن عنوان "الشارع الرئيسي" إلى عرض نتائج كثيرة جدًا.

Java

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

Kotlin

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

وستؤدي إضافة خط الطول أو خط العرض إلى عنوان URI المقصود إلى انحياز النتائج نحو منطقة معيّنة:

Java

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

Kotlin

// 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 كإحداثي خط طول/خط عرض.

Java

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

Kotlin

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

كبديل لعنوان الشارع أو لخط العرض/خط الطول، يمكنك عرض دبوس في موقع جغرافي معروف باستخدام رمز الموقع المفتوح.

Java

// 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

Kotlin

// 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 باتجاهات مفصّلة إلى العنوان أو التنسيق المحدد. يتم تقديم الاتجاهات دائمًا من الموقع الحالي للمستخدم.

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

المعلّمات

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

  • يحدّد mode طريقة النقل. إنّ الوضع اختياري ويمكن ضبطه على أحد الخيارَين التاليَين:

    • d للقيادة (الإعداد التلقائي)
    • b لركوب الدراجات
    • l للدرّاجة النارية
    • w للمشي
  • يحدّد avoid الميزات التي يجب محاولة تجنُّبها. "تجنب" هو إجراء اختياري ويمكن ضبطه على واحد أو أكثر مما يلي:

    • t مقابل رسوم العبور
    • h للطرق السريعة
    • f للعبّارات

أمثلة

سيطلب Intent أدناه الانتقال باتّجاهات مفصّلة إلى حديقة حيوانات Taronga في سيدني بأستراليا:

Java

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

Kotlin

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)

الاتجاهات إلى حديقة حيوانات تارونغا

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

Java

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

Kotlin

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)

إذا كنت تفضل القليل من التمرين، يمكنك طلب اتجاهات ركوب الدراجات بدلاً من ذلك.

Java

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

Kotlin

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 أدناه مسارًا في الهند.

Java

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

Kotlin

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" مناظر بانورامية من مواقع جغرافية معيّنة في جميع أنحاء منطقة التغطية. تتوفر أيضًا صور بانورامية ساهم بها المستخدمون، ومجموعات خاصة من التجوّل الافتراضي.

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 هو معرّف بانوراما محدد. ستستخدم خرائط Google معرّف البانوراما إذا تم تحديد كل من panoid وcbll. تتوفر أرقام تعريف البانوراما لتطبيق Android من عنصر StreetViewPanoramaLocation.

  • إنّ 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 ينظر إلى الأعلى بشكل مستقيم.

أمثلة

في ما يلي بعض الأمثلة على استخدام هدف "التجوّل الافتراضي".

Java

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

Kotlin

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

الأهرامات في "التجوّل الافتراضي"