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