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

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

نظرة عامة

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

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

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

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

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

  • الإجراء: يُطلق على جميع أغراض "خرائط Google" اسم إجراء العرض - ACTION_VIEW.
  • معرّف الموارد المنتظم (URI): تستخدم عناصر intent في "خرائط 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، وإذا أمكن، يجب إيقاف الميزة التي تستدعي الغرض.

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

يجب ترميز جميع السلاسل التي يتم تمريرها إلى Intents من "خرائط Google" بترميز URI. على سبيل المثال، يجب أن تصبح السلسلة "1st & Pike, سياتل" 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.

  • يتيح لك 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 أدناه الحصول على اتجاهات مفصّلة إلى "حديقة حيوانات تارونغا" في مدينة سيدني بأستراليا:

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

المَعلمات

يجب أن تتضمّن جميع معرّفات الموارد المنتظِمة 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)

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