Maps SDK ל-Android יכול להציג תמונת bitmap של מפה, עם אינטראקטיביות מוגבלת למשתמש. מפה כזו נקראת מפה במצב לייט.
דוגמאות קוד
במאגר ApiDemos ב-GitHub יש דוגמאות שממחישות את השימוש במצב Lite:
- LiteDemoActivity – Java: יסודות השימוש במפה במצב Lite ב-Java
- LiteDemoActivity – Kotlin: מידע בסיסי על שימוש במפה במצב טעינה מהירה ב-Kotlin
- LiteListDemoActivity – Java: הצגת מפות ביעילות ב-ListViews באמצעות מצב Lite ב-Java
- LiteListDemoActivity – Kotlin: הצגת מפות ביעילות ב-ListViews באמצעות מצב בסיסי ב-Kotlin
סקירה כללית של מצב Lite
מפה במצב Lite היא תמונת bitmap של מפה במיקום מסוים וברמת זום מסוימת. מצב Lite תומך בכל סוגי המפות (רגילה, היברידית, לוויינית, טופוגרפית) ובחלק מהפונקציונליות שמסופקת על ידי ה-API המלא. מצב Lite שימושי כשרוצים לספק מספר מפות בזרם, או מפה שהיא קטנה מדי כדי לתמוך באינטראקציה משמעותית.
משתמשים שצופים במפה לא יכולים לשנות את מרחק התצוגה או להזיז את המפה. הסמלים במפה מאפשרים למשתמשים לצפות במפה באפליקציית מפות Google לנייד ולבקש מסלול נסיעה.
הוספת מפה במצב טעינה מהירה
במצב טעינה מהירה נעשה שימוש באותן מחלקות ובאותם ממשקים כמו בגרסה המלאה של Google Maps Android API. אפשר להגדיר 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
צריכים להעביר את כל ה-methods של מחזור החיים של הפעילות ל-methods התואמים במחלקה MapView
. דוגמאות לשיטות מחזור חיים כוללות את onCreate()
, onDestroy()
, onResume()
ו-onPause()
.
כשמשתמשים במחלקה MapView
במצב Lite, העברה של אירועים שקשורים למחזור החיים היא אופציונלית, למעט במקרים הבאים:
- חובה להתקשר אל
onCreate()
, אחרת לא תוצג מפה. - אם רוצים להציג את הנקודה 'המיקום שלי' במפה במצב Lite ולהשתמש במקור המיקום שמוגדר כברירת מחדל, צריך להפעיל את
onResume()
ואתonPause()
, כי מקור המיקום יתעדכן רק בין ההפעלות האלה. אם אתם משתמשים במקור מיקום משלכם, אין צורך להפעיל את שתי השיטות האלה.
תכונות נתמכות של API
בטבלה הבאה מתואר אופן הפעולה של מפה במצב Lite בכל תחום של פונקציונליות API. אם אפליקציה קוראת לשיטה שלא נתמכת במצב Lite, ה-API ירשום הודעת אזהרה.
פונקציונליות | |
---|---|
סוגי מפות | נתמך? כן
סוגי המיפוי הבאים זמינים דרך GoogleMapOptions.mapType() ו-GoogleMap.setMapType() : MAP_TYPE_NORMAL , MAP_TYPE_SATELLITE , MAP_TYPE_TERRAIN , MAP_TYPE_HYBRID , MAP_TYPE_NONE |
קווי פוליגון, פוליגונים, עיגולים | נתמך? כן
הפונקציונליות של מצב Lite עבור צורות זהה לזו של ה-API המלא. |
היטל | נתמך? כן
הפונקציונליות של מצב Lite עבור Projection זהה לזו של ה-API המלא. |
המיקום שלי | נתמך? כן
הפונקציונליות של מצב Lite בשכבת המיקום שלי זהה לזו של ה-API המלא. |
שוליים של המפה | נתמך? כן
התמיכה במצב טעינה מהירה בשוליים של המפה זהה לזו של ה-API המלא. |
חלונות מידע | נתמך? כן
אם מגדירים את title() של סמן, חלון המידע שמוגדר כברירת מחדל יופיע כשהמשתמש יקיש על הסמן. אפשר להציג את חלון המידע באופן פרוגרמטי על ידי קריאה ל-showInfoWindow() בסמן.
אפשר גם ליצור חלונות מידע בהתאמה אישית דרך הממשק InfoWindowAdapter . |
סגנונות מפה בסיסית בהתאמה אישית | נתמך? באופן חלקי
Maps SDK ל-Android תומך בעיצוב בהתאמה אישית של מפת הבסיס. במצב Lite יש תמיכה רק בעיצוב מותאם אישית מבוסס-JSON, ולא בעיצוב מבוסס-ענן שדורש מזהה מפה כדי לעבד מפה מעוצבת.
במצב בסיסי אי אפשר גם להגדיר את ערכת הצבעים של המפה לשימוש במצב כהה.
|
סמנים | נתמך? באופן חלקי
אפשר להוסיף סמן
ולהגיב לאירוע לחיצה. אפשר גם להוסיף סמלי סמנים מותאמים אישית. אי אפשר להפוך סמן לניתן לגרירה. הסמנים במפה במצב בסיסי הם שטוחים, ואי אפשר לסובב אותם. |
מיקום המצלמה, הזום והאנימציה | נתמך? באופן חלקי
אפשר להגדיר את יעד המצלמה ואת הזום, אבל לא את ההטיה או את הכיוון.
במצב לייט, רמת הזום מעוגלת למספר השלם הקרוב ביותר.
אם תתקשרו אל התקשרות אל |
מיפוי אירועים | נתמך? באופן חלקי
מצב טעינה מהירה תומך ב- כדי להשבית אירועי קליקים במפה במצב Lite, אפשר לקרוא ל- פרטים נוספים מופיעים במסמכי התיעוד בנושא אירועים. |
מפות פנים ובניינים | נתמך? לא
במצב טעינה מהירה יוצגו אותן משבצות כמו ב-Maps Static API.
המשמעות היא שאם תוכנית הקומה הפנימית מוטמעת במשבצת ברירת המחדל, היא תופיע. אחרת, לא תהיה אפשרות להשתמש בה. בנוסף, אי אפשר לשנות את הרמה שמוצגת או לתפעל את בורר הרמות. |
שכבת תנועת הגולשים | נתמך? לא
אין תמיכה ב- GoogleMap.setTrafficEnabled() במצב טעינה מהירה. |
שכבות-על של קרקע | נתמך? לא
אין תמיכה ב- GoogleMap.addGroundOverlay() במצב Lite. |
שכבות מעל קטעי המפה | נתמך? לא
אין תמיכה ב- GoogleMap.addTileOverlay() במצב Lite. |
תנועות | נתמך? לא
מצב טעינה מהירה לא תומך במחוות. הפעלה והשבתה של מחוות לא ישפיעו על הפעולה. |
Street View | נתמך? לא
אין תמיכה ב-Street View במצב טעינה מהירה. |