אפליקציית מפות Google ל-Android חושפת כמה כוונות שבהן אפשר להשתמש כדי להשיק את מפות Google ברשת המדיה, חיפוש, ניווט או Street View. אם רוצים אפשר להטמיע מפה באפליקציה. מומלץ להיעזר ב-Google Maps Android API מדריך לתחילת העבודה.
סקירה כללית
אובייקטים מסוג Intent מאפשרים לך להתחיל פעילות באפליקציה אחרת על ידי תיאור של פעולה פשוטה
שברצונך לבצע (למשל, "הצג מפה" או "הצג מסלול הגעה
בשדה תעופה)
Intent
לאובייקט.
אפליקציית מפות Google ל-Android
תומך בכמה כוונות שונות, שמאפשרות לך להפעיל את האפליקציה מפות Google
ולבצע אחת מתוך ארבע פעולות:
- הצגת מפה במיקום ספציפי וברמת זום.
- מחפשים מיקומים או מקומות ומציגים אותם במפה.
- מבקשים מסלול ממיקום אחד למיקום אחר. ניתן להחזיר מסלול עבור שלושה אמצעי תחבורה: נהיגה, הליכה, רכיבה על אופניים.
- הצגת תמונות פנורמה ב-Google Street View.
דף זה מתאר את הכוונות שניתן להשתמש בהן עם אפליקציית מפות Google עבור Android. מידע נוסף על כוונות וכוונת רכישה מסננים או אובייקטים מסוג Intent הנפוצים ל-Android , אפשר לעיין במסמכי התיעוד למפתחים של Android.
בקשות של Intent
כדי להפעיל את מפות Google מתוך כוונה, תחילה עליך ליצור
Intent
שמציין את הפעולה, ה-URI והחבילה שלו.
- פעולה: כל הכוונות של מפות Google נקראות כפעולת צפייה –
ACTION_VIEW
. - URI: הפורמט של Intent במפות Google מבוסס על קידוד כתובת URL שמציין את האובייקט הרצוי פעולה מסוימת, יחד עם נתונים מסוימים שבאמצעותם ניתן לבצע את הפעולה.
- חבילה: התקשרות אל
setPackage("com.google.android.apps.maps")
לוודא שאפליקציית מפות Google ל-Android מטפלת ב-Intent. אם לא מוגדרת, המערכת תקבע אילו אפליקציות יכולות לטפלIntent
אם יש כמה אפליקציות זמינות, יכול להיות שהמשתמשים יתשאלו איזו אפליקציה שהם רוצים להשתמש בהם.
לאחר יצירת Intent
, אפשר לבקש שהמערכת תפעיל את האפליקציות הרלוונטיות
בכמה דרכים. אחת מהשיטות הנפוצות היא להעביר את Intent
אל
startActivity()
. המערכת תפעיל את האפליקציה הנדרשת — במקרה הזה Google
במפות 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
לאובייקט. אם התוצאה היא לא null, יש לפחות אפליקציה אחת שיכולה לטפל ב-
בכוונה טובה, אפשר להתקשר בבטחה
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
כל המחרוזות שמועברות ל-Intents של מפות Google חייבות להיות מקודדות ב-URI. לדוגמה,
המחרוזת "1st & פייק, סיאטל" צריך להפוך ל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"))
הצגת מפה
יש להשתמש ב-Intent 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)
פרמטרים
בנוסף לפרמטרים שמשמשים להצגת מפה, החיפוש תומך את הפרמטרים הבאים:
q
מגדיר את המקומות שברצונך להדגיש במפה. הפרמטרq
הוא נדרש לכל הבקשות לחיפוש. הוא מקבל מיקום בתור מקום שם או כתובת. המחרוזת צריכה להיות בקידודי תווים שמתאימים לכתובות URL, אז כתובת כמו "בניין העירייה, ניו יורק, ניו יורק" צריך להמיר ל- סיטי+הול,ניו+יורק,ניו יורק.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
, אבל מעבירה כתובת כשאילתה
String. בעת חיפוש מיקום ספציפי מאוד, קווי האורך והרוחב
לא נדרשים. עם זאת, אם אינך יודע את הכתובת המדויקת, ניתן
לנסות להטות את תוצאות החיפוש על ידי ציון קואורדינטה. עבור
לדוגמה, ביצוע חיפוש כתובת אחר 'רחוב ראשי' יחזיר יותר מדי
תוצאות.
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")
הוספת קו רוחב/lng ל-URI של Intent תגרום להטיית התוצאות לכיוון מסוים אזור:
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
קואורדינטה קווית/lng.
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)
כחלופה לכתובת רחוב או לקו רוחב/אורך, אפשר להציג סיכה במיקום ידוע באמצעות 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 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)
הצגה של תמונת פנורמה ב-Street View
צריך להשתמש ב-Intent google.streetview
כדי להפעיל את Google Street View. Google Street View
מספק נופים פנורמיים ממיקומים ייעודיים בכל
אזור כיסוי.
תמונות פנורמיות ב-360°,
וגם
אוספים מיוחדים של 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 תשתמש במזהה הפנורמה אם גםpanoid
וגםcbll
מצוינים. מזהי פנורמה זמינים ל-Android מ- אובייקטStreetViewPanoramaLocation
.cbp
הוא פרמטר אופציונלי שמתאים את הכיוון הראשוני של מצלמה. הפרמטרcbp
מקבל 5 ערכים מופרדים בפסיקים, שכולם מופרדים בפסיקים הם אופציונליים. הערכים המשמעותיים ביותר הם: השני, הרביעי והחמישי שמגדירות את הנשיאה, הזום וההטיה בהתאמה. הראשון והשלישי ערכים אינם נתמכים, וצריך להגדיר אותם ל-0
.bearing
: מציין את כיוון המצפן של המצלמה במעלות בכיוון השעון מצפון. הצפון האמיתי הוא 0, המזרח הוא 90, הדרום הוא 180, המערב הוא 270. ערכים שיועברו לנשיאה, כלומר, 0°, 360° ו-720° הכול להצביע לאותו כיוון. נושא ההגדרה הוא השני מתוך חמש ערכים מופרדים בפסיקים.zoom
: מגדיר את רמת הזום של המצלמה. רמת ברירת המחדל של מרחק התצוגה מוגדרת זום של 1 יכפיל את ההגדלה. התצוגה מוצמדת בין 0 לבין רמת הזום המקסימלית של הפנורמה הנוכחית. המשמעות היא שכל ערך שחורג מהטווח הזה יוגדר בתור הקיצון הקרוב ביותר שנמצא בתוך הטווח. לדוגמה, ערך של 1-. יגדיר את הערך 0. מרחק התצוגה הוא הרביעי מתוך חמישה ערכים שמופרדים בפסיקים.tilt
: מציין את הזווית של המצלמה, למעלה או למטה. הטווח הוא -90 בין 0 ל-90, כאשר 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 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)