يعرض تطبيق "خرائط Google" لأجهزة Android العديد من النوايا التي يمكنك استخدامها لتشغيل "خرائط Google" في وضع العرض أو البحث أو التنقّل أو "التجوّل الافتراضي". إذا كنت تريد تضمين خريطة في تطبيقك، يُرجى الرجوع إلى دليل بدء الاستخدام لـ Google Maps Android API.
نظرة عامة
تتيح لك النوايا بدء نشاط في تطبيق آخر من خلال وصف إجراء بسيط
تريد تنفيذه (مثل "عرض خريطة" أو "عرض الاتجاهات إلى
المطار") في ملف شخصي
Intent
. يتيح
تطبيق "خرائط Google" لأجهزة Android
تنفيذ العديد من الأهداف المختلفة، ما يتيح لك تشغيل تطبيق "خرائط Google"
وتنفيذ أحد الإجراءات الأربعة التالية:
- عرض خريطة في موقع جغرافي ومستوى تكبير/تصغير محدّدَين
- البحث عن مواقع جغرافية أو أماكن وعرضها على خريطة
- طلب الاتجاهات من مكان إلى آخر يمكن عرض الاتجاهات لثلاثة طُرق للنقل: القيادة والمشي وركوب الدراجات.
- عرض صور بانورامية في "التجوّل الافتراضي من Google"
توضّح هذه الصفحة النوايا التي يمكنك استخدامها مع تطبيق "خرائط Google" لأجهزة Android. لمزيد من المعلومات عن Intents وIntent Filters أو Intents الشائعة لنظام Android الأساسي، يُرجى الرجوع إلى مستندات مطوّري تطبيقات Android.
طلبات الأهداف
لتشغيل "خرائط Google" باستخدام نية، يجب أولاً إنشاء عنصر
Intent
مع تحديد الإجراء ومعرّف الموارد المنتظم والحزمة.
- الإجراء: يتمّ استدعاء جميع نوايا "خرائط Google" كإجراء عرض:
ACTION_VIEW
. - URI: تستخدِم نوايا "خرائط Google" عنوان URL مُرمّزًا يحدّد الإجراء المطلوب، بالإضافة إلى بعض البيانات التي يمكن تنفيذ الإجراء من خلالها.
- الحزمة: سيؤدّي الاتصال بالرقم
setPackage("com.google.android.apps.maps")
إلى ضمان معالجة تطبيق "خرائط Google" لنظام التشغيل Android للطلب. في حال عدم ضبط الحزمة، سيحدِّد النظام التطبيقات التي يمكنها معالجة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)
إذا لم يتمكّن النظام من تحديد تطبيق يمكنه الاستجابة للطلب، قد يؤدي ذلك إلى تعطُّل تطبيقك. لهذا السبب، عليك أولاً التأكّد من تثبيت تطبيق مستلِم قبل عرض أحد هذه النوايا للمستخدم.
للتأكّد من توفّر تطبيق لتلقّي الطلب، اتصل بـ
resolveActivity()
في ملف برمجي
Intent
. إذا كانت النتيجة غير فارغة، يعني ذلك أنّ هناك تطبيقًا واحدًا على الأقل يمكنه معالجة
intent، ومن الآمن استدعاء
startActivity()
.
إذا كانت النتيجة هي null
، يجب عدم استخدام النية، ويجب
إيقاف الميزة التي تستدعي النية إن أمكن.
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
يجب أن تكون جميع السلاسل التي يتم تمريرها إلى "النوايا" في "خرائط Google" مُشفَّرة باستخدام معرّف الموارد المنتظم (URI). على سبيل المثال،
يجب أن تصبح السلسلة "1st & Pike, Seattle" 1st%20%26%20Pike%2C%20Seattle
.
يمكن ترميز المسافات في السلسلة باستخدام %20 أو استبدالها بعلامة الجمع (+).
يمكنك استخدام طريقة android.net.Uri
parse()
لتشفير سلاسل النصوص.
على سبيل المثال:
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")
ستؤدي إضافة خط الطول/العرض إلى معرّف الموارد المنتظم للنشاط إلى توجيه النتائج نحو منطقة معيّنة:
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
لتحديد العناصر التي يجب أن يحاول المسار تجنُّبها. إنّ القيمة 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"
مناظر بانورامية من مواقع محدّدة في
منطقة التغطية.
تتوفّر أيضًا صور بانورامية 360 درجة التي يساهم بها المستخدمون،
و
مجموعات خاصة في "التجوّل الافتراضي".
google.streetview:cbll=latitude,longitude&cbp=0,bearing,0,zoom,tilt google.streetview:panoid=id&cbp=0,bearing,0,zoom,tilt
المعلّمات
يجب أن تتضمّن جميع عناوين URL الخاصة بـ google.streetview
إما مَعلمة cbll
أو مَعلمة panoid
.
يقبل
cbll
خط العرض وخط الطول كقيم مفصولة بفواصل (46.414382,10.013988
). سيعرض التطبيق المنظر البانورامي الذي تم تصويره بالقرب من هذا الموقع الجغرافي. بما أنّه يتم تعديل صور "التجوّل الافتراضي" بشكل دوري ويمكن التقاط الصور من مواضع مختلفة قليلاً في كل مرة، من المحتمل أن يتم نقل موقعك الجغرافي إلى panorama مختلف عند تعديل الصور.panoid
هو معرّف بانوراما محدّد. ستستخدم "خرائط Google" معرّف البانوراما في حال تحديدpanoid
وcbll
. تتوفّر أرقام تعريف بانوراما لتطبيق Android من كائنStreetViewPanoramaLocation
.cbp
هي مَعلمة اختيارية تعمل على تعديل الاتجاه الأولي لكاميرا الالتقاط. تأخذ المَعلمةcbp
5 قيم مفصولة بفواصل، وجميعها اختيارية. إنّ أهم القيم هي القيمة الثانية والرابعة والخامسة التي تحدّد الاتجاه والتكبير والميل على التوالي. لا يمكن استخدام القيمة الأولى والثالثة ، ويجب ضبطهما على0
.bearing
: يشير إلى اتجاه البوصلة للكاميرا بالدرجات في اتجاه عقارب الساعة من الشمال. الشمال الحقيقي هو 0، والشرق هو 90، والجنوب هو 180، والغرب هو 270. سيتم تكرار القيم المرسَلة إلى السمة bearing، أي أنّ القيم 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)