אפליקציית מפות Google ל-Android חושפת כמה כוונות שאפשר להשתמש בהן כדי להפעיל את מפות Google במצבי תצוגה, חיפוש, ניווט או Street View. כדי להטמיע מפה באפליקציה, אפשר לעיין במדריך למתחילים בנושא Maps SDK ל-Android.
בפלטפורמות של Android Automotive OS (AAOS), יש שיקולים ספציפיים ו-Intents נוספים שזמינים. פרטים נוספים זמינים במסמכי התיעוד בנושא Google Maps for Android Automotive Intents.
סקירה כללית
Intents מאפשרים להתחיל פעילות באפליקציה אחרת על ידי תיאור של פעולה שרוצים לבצע (למשל, 'הצגת מפה' או 'הצגת מסלול נסיעה לשדה התעופה') באובייקט Intent. אפליקציית מפות Google ל-Android תומכת בכמה כוונות שונות,ומאפשרת להפעיל את אפליקציית מפות Google ולבצע אחת מארבע פעולות:
- הצגת מפה במיקום מסוים וברמת זום מסוימת.
- חיפוש מיקומים או מקומות והצגתם במפה.
- לבקש מסלול נסיעה ממיקום אחד למיקום אחר. אפשר לקבל מסלולים לשלושה אמצעי תחבורה: נהיגה, הליכה ורכיבה על אופניים.
- הצגת תמונות פנורמיות ב-Google Street View.
בדף הזה מתוארים ה-intents שבהם אפשר להשתמש באפליקציית מפות Google ל-Android. מידע נוסף על כוונות זמין במאמרים כוונות ומסנני כוונות וכוונות נפוצות.
בקשות לזיהוי כוונות
כדי להפעיל את מפות Google באמצעות intent, קודם צריך ליצור אובייקט Intent, לציין את הפעולה, ה-URI והחבילה שלו.
- פעולה: כל הכוונות של מפות Google נקראות כפעולת תצוגה –
ACTION_VIEW. - URI: כוונות של מפות Google משתמשות במזהי URI עם קידוד כתובת 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. אם התוצאה היא
non-null, יש לפחות אפליקציה אחת שיכולה לטפל ב-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
כל המחרוזות שמועברות אל Google Maps Intents חייבות להיות מקודדות ב-URI. לדוגמה,
המחרוזת 1st & Pike, Seattle צריכה להפוך ל-1st%20%26%20Pike%2C%20Seattle.
אפשר לקודד רווחים במחרוזת באמצעות %20 או להחליף אותם בסימן הפלוס (+).
אפשר להשתמש בשיטה android.net.Uri encode() כדי לקודד את המחרוזות.
לדוגמה:
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 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);
Kotlin
// 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 הזה כדי להציג שאילתות חיפוש באזור תצוגה שצוין. אם השאילתה מחזירה תוצאה אחת, אפשר להשתמש ב-intent הזה כדי להציג סיכה במקום או בכתובת מסוימים, כמו ציון דרך, עסק, מאפיין גאוגרפי או עיר.
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' returns too many results.
Uri gmmIntentUri = Uri.parse("geo:0,0?q=101+main+street");
Kotlin
// Searching for 'Main Street' returns 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=-33.8666,151.1957(Google+Sydney)");
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)
במקום כתובת או קווי אורך ורוחב, אפשר להציג סיכה במיקום מוכר באמצעות Plus Code.
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 preceding examples.
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 preceding examples.
הפעלת מסלול מפורט
אפשר להשתמש ב-URI של הכוונה הזה כדי להפעיל את הניווט במפות Google עם הוראות מפורטות לכתובת או לקואורדינטות שצוינו. ההוראות תמיד ניתנות מהמיקום הנוכחי של המשתמש.
google.navigation:q=a+street+address
google.navigation:q=latitude,longitude
פרמטרים
q: הגדרת נקודת הקצה לחיפושי ניווט. הערך הזה יכול להיות קואורדינטות של קו רוחב וקו אורך, או כתובת בפורמט של שאילתה. אם מדובר במחרוזת שאילתה שמחזירה יותר מתוצאה אחת, התוצאה הראשונה נבחרת.
modeמגדיר את אמצעי התחבורה. הפרמטר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)
הצגת פנורמה ב-Street View
משתמשים בכוונה google.streetview כדי להפעיל את Google Street View. Google Street View מספק תצוגות פנורמיות ממיקומים ייעודיים באזור הכיסוי שלו. אפשר גם לראות תמונות פנורמיות שנוספו על ידי משתמשים ואוספים מיוחדים של Street View.
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). האפליקציה מציגה את התמונה הפנורמית שצולמה הכי קרוב למיקום הזה. תמונות Street View מתעדכנות מעת לעת, ויכול להיות שהתמונות צולמו בכל פעם מזוויות שונות. לכן, יכול להיות שהמיקום שלכם יתעדכן לפנורמה אחרת כשהתמונות יתעדכנו.
panoidהוא מזהה פנורמה ספציפי. מערכת Google Maps משתמשת במזהה הפנורמה אם מציינים גםpanoidוגםcbll. מזהי הפנורמה זמינים לאפליקציית Android מהאובייקטStreetViewPanoramaLocation.
cbpהוא פרמטר אופציונלי שמשנה את הכיוון הראשוני של המצלמה. הפרמטרcbpמקבל 5 ערכים מופרדים בפסיקים, וכולם אופציונליים. הערכים הכי חשובים הם השני, הרביעי והחמישי, שקובעים את הכיוון, הזום וההטיה בהתאמה. הערכים הראשון והשלישי לא נתמכים, ולכן צריך להגדיר אותם כ-0.-
bearing: מציין את הכיוון של המצלמה במצפן במעלות בכיוון השעון מצפון. הצפון האמיתי הוא 0, מזרח הוא 90, דרום הוא 180, מערב הוא- הערכים שמועברים לזווית הכיוון חוזרים על עצמם, כלומר 0°, 360° ו-720° מצביעים כולם לאותו כיוון. הכיוון מוגדר כערך השני מתוך חמישה ערכים שמופרדים בפסיקים.
-
zoom: הגדרת רמת הזום של המצלמה. מרחק התצוגה שמוגדר כברירת מחדל הוא 0. הגדלה של 1 תכפיל את ההגדלה. הזום מוגבל בין 0 לבין רמת הזום המקסימלית של הפנורמה הנוכחית. המשמעות היא שכל ערך שנמצא מחוץ לטווח הזה מוגדר לערך הקיצוני הקרוב ביותר שנמצא בטווח. לדוגמה, אם הערך הוא -1, הוא ישתנה ל-0. הערך של הזום הוא הרביעי מתוך חמישה ערכים מופרדים בפסיקים. -
tilt: מציין את הזווית של המצלמה, למעלה או למטה. הטווח הוא -90 עד 90, כולל 0. 90 מציין מבט ישירות למטה, 0 מציין מבט אופקי ו--90 מציין מבט ישירות למעלה.
-
דוגמאות
ריכזנו כאן כמה דוגמאות לשימוש ב-Intent של Street View.
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 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);
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 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)