ה-SDK של מפות Google ל-Android יכול להציג תמונה של מפת סיביות (bitmap) של מפה, וכך להציע למשתמש אינטראקטיביות מוגבלת. המפה הזו נקראת מפה במצב בסיסי.
דוגמאות קוד
מאגר ApiDemos ב-GitHub כולל דוגמאות שמדגימות את השימוש במצב Lite:
- LiteDemoActivity – Java: יסודות השימוש במפה במצב בסיסי ב-Java
- LiteDemoActivity – Kotlin: יסודות השימוש במפה במצב בסיסי ב-Kotlin
- LiteListDemoActivity - Java: הצגת מפות ביעילות ב-ListViews באמצעות מצב בסיסי ב-Java
- LiteListDemoActivity – Kotlin: הצגת מפות ביעילות ב-ListViews באמצעות מצב בסיסי ב-Kotlin
סקירה כללית של מצב Lite
מפה במצב בסיסי היא תמונה של מפת סיביות (bitmap) של מפה במיקום ספציפי וברמת הזום. מצב Lite תומך בכל סוגי המפות (רגיל, היברידי, לוויין, פני שטח) ובקבוצת משנה של הפונקציונליות שמספק ה-API המלא. מצב Lite שימושי כשרוצים לספק כמה מפות לשידור, או מפה קטנה מדי ולא מאפשרת אינטראקציה משמעותית.
משתמשים שצופים במפה לא יכולים לשנות את מרחק התצוגה או להזיז את המפה. הסמלים במפה מעניקים למשתמשים גישה להצגת המפה באפליקציה לנייד של מפות Google ולבקש מסלול הגעה.
הוספת מפה במצב בסיסי
במצב Lite יש להשתמש באותם מחלקות וממשקים כמו ה-Android API המלא של מפות Google. אפשר להגדיר את GoogleMap
למצב בסיסי בדרכים הבאות:
- במאפיין XML של
MapView
או שלMapFragment
- או באובייקט
GoogleMapOptions
כמאפיין XML עבור MapView
או MapFragment
<fragment xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:map="http://schemas.android.com/apk/res-auto"
android:name="com.google.android.gms.maps.MapFragment"
android:id="@+id/map"
android:layout_width="match_parent"
android:layout_height="match_parent"
map:cameraZoom="13"
map:mapType="normal"
map:liteMode="true"/>
באובייקט GoogleMapOptions
Kotlin
val options = GoogleMapOptions() .liteMode(true)
Java
GoogleMapOptions options = new GoogleMapOptions() .liteMode(true);
למידע על הגדרת המצב הראשוני של המפה, עיינו במדריך לאובייקט המפה.
כוונות להפעיל תצוגת מפה או בקשה לקבלת מסלול
כברירת מחדל, סרגל הכלים בפינה השמאלית התחתונה של המפה מכיל סמלים שמספקים גישה לתצוגת מפה או לבקשת מסלול באפליקציה לנייד של מפות Google. ניתן לך להשבית את סרגל הכלים באמצעות UiSettings.setMapToolbarEnabled(false)
. לפרטים נוספים, קראו את מסמכי התיעוד של סרגל הכלים.
כברירת מחדל, כשמשתמש מקיש על המפה, ה-API מפעיל את האפליקציה לנייד של מפות Google. אפשר לבטל זאת על ידי שימוש ב-GoogleMap.setOnMapClickListener()
כדי להגדיר האזנה משלכם. בנוסף, אפשר להשבית אירועי קליקים במפה על ידי קריאה לפונקציה setClickable()
בתצוגה שמכילה את MapView
או את MapFragment
. לפרטים על שתי הטכניקות האלה, עיינו במסמכי התיעוד בנושא אירועים.
אירועים במחזור החיים
כשמשתמשים ב-API במצב אינטראקטיבי לחלוטין, המשתמשים במחלקה MapView
חייבים להעביר את כל השיטות של מחזור החיים של הפעילות לשיטות המתאימות במחלקה MapView
. דוגמאות לשיטות של מחזור חיים כוללות onCreate()
, onDestroy()
, onResume()
ו-onPause()
.
כשמשתמשים במחלקה MapView
במצב בסיסי, אפשר להעביר אירועים במחזור החיים, מלבד המצבים הבאים:
- חובה להתקשר אל
onCreate()
, אחרת לא תוצג מפה. - אם ברצונך להציג את הנקודה 'המיקום שלי' במפה במצב Lite ולהשתמש במקור המיקום המוגדר כברירת מחדל, עליך לקרוא ל-
onResume()
ול-onPause()
כי מקור המיקום יתעדכן רק בין הקריאות האלה. אם אתם משתמשים במקור מיקום משלכם, אין צורך לקרוא לשתי השיטות האלה.
תכונות API נתמכות
בטבלה הבאה מתוארת ההתנהגות של מפת במצב בסיסי לכל אזור בפונקציונליות של ה-API. אם אפליקציה קוראת לשיטה שלא נתמכת במצב בסיסי, ה-API ירשום הודעת אזהרה.
פונקציונליות | |
---|---|
סוגי מפות | נתמכת? כן
סוגי
המפות הבאים זמינים דרך GoogleMapOptions.mapType() וגם
GoogleMap.setMapType() : MAP_TYPE_NORMAL ,
MAP_TYPE_SATELLITE , MAP_TYPE_TERRAIN ,
MAP_TYPE_HYBRID , MAP_TYPE_NONE |
קווים פוליגוניים, מצולעים, מעגלים | נתמכת? כן
הפונקציונליות במצב Lite של shapes תואמת ל-API המלא. |
היטל | נתמכת? כן
הפונקציונליות במצב Lite של Projection תואמת ל-API המלא. |
המיקום שלי | נתמכת? כן
הפונקציונליות במצב בסיסי של
השכבת 'המיקום שלי'
תואמת ל-API המלא. |
מרווח פנימי במפה | נתמכת? כן
התמיכה במצב Lite במרווח פנימי במפה
תואמת ל-API המלא. |
חלונות מידע | נתמכת? כן
אם מגדירים את title() של סמן, ברירת המחדל
חלון המידע
תופיע כשהמשתמש יקיש על הסמן. ניתן להציג את חלון המידע באופן פרוגרמטי על ידי קריאה לפונקציה showInfoWindow() על הסמן.
אפשר ליצור חלונות מידע בהתאמה אישית גם
דרך הממשק InfoWindowAdapter . |
סגנונות מותאמים אישית של מפה בסיסית | נתמכת? חלקית
ה-SDK של מפות Google ל-Android תומך
בסגנון מותאם אישית של
המפה הבסיסית. מצב Lite תומך רק בעיצוב מותאם אישית שמבוסס על JSON ולא
בסגנון מבוסס ענן. כדי לעבד מפה מעוצבת, נדרש מזהה מפה. |
סמנים | נתמכת? חלקית
אפשר להוסיף סמן
ולהגיב לאירוע של קליק. אפשר גם להוסיף סמלים של סמנים
בהתאמה אישית. לא ניתן להפוך סמן לגרירה. הסמנים במפה במצב בסיסי הם שטוחים, ולא ניתן לסובב אותם. |
מיקום המצלמה, שינוי מרחק התצוגה ואנימציה | נתמכת? חלקית
אפשר להגדיר את יעד המצלמה ושינוי מרחק התצוגה, אבל לא את ההטיה או הכיוון של המצלמה.
המרחק מהתצוגה יעוגל למספר השלם הקרוב ביותר במצב Lite.
קריאה ל- קריאה ל- |
מיפוי אירועים | נתמכת? חלקית
במצב Lite יש תמיכה ב- כדי להשבית אירועי לחיצה במפה במצב בסיסי, אפשר לקרוא לפונקציה פרטים נוספים זמינים במסמכי התיעוד בנושא אירועים. |
מפות פנים ובניינים | נתמכת? לא
במצב Lite יוצגו אותם משבצות כמו
ה-API הסטטי של מפות Google.
כלומר, אם תוכנית הקומה הפנימית מוגדרת במשבצת ברירת המחדל,
היא תופיע. אחרת, היא לא. בנוסף, אי אפשר לשנות את הרמה שמוצגת או לשנות את בורר הרמות. |
שכבת תנועה | נתמכת? לא
אין תמיכה ב- GoogleMap.setTrafficEnabled()
במצב בסיסי. |
שכבות-על של קרקע | נתמכת? לא
אין תמיכה ב- GoogleMap.addGroundOverlay() במצב בסיסי. |
שכבות-על של משבצות | נתמכת? לא
אין תמיכה ב- GoogleMap.addTileOverlay() במצב בסיסי. |
תנועות | נתמכת? לא
מצב בסיסי לא תומך בתנועות. להפעלה ולהשבתה של תנועות
לא תהיה השפעה. |
Street View | נתמכת? לא
אין תמיכה ב-Street View
במצב בסיסי. |