מצב בסיסי

‫Maps SDK ל-Android יכול להציג תמונת bitmap של מפה, עם אינטראקטיביות מוגבלת למשתמש. מפה כזו נקראת מפה במצב לייט.

דוגמאות קוד

במאגר ApiDemos ב-GitHub יש דוגמאות שממחישות את השימוש במצב Lite:

סקירה כללית של מצב 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, ולא בעיצוב מבוסס-ענן שדורש מזהה מפה כדי לעבד מפה מעוצבת. במצב בסיסי אי אפשר גם להגדיר את ערכת הצבעים של המפה לשימוש במצב כהה.
סמנים
נתמך? באופן חלקי
אפשר להוסיף סמן ולהגיב לאירוע לחיצה. אפשר גם להוסיף סמלי סמנים מותאמים אישית. אי אפשר להפוך סמן לניתן לגרירה. הסמנים במפה במצב בסיסי הם שטוחים, ואי אפשר לסובב אותם.
מיקום המצלמה, הזום והאנימציה
נתמך? באופן חלקי

אפשר להגדיר את יעד המצלמה ואת הזום, אבל לא את ההטיה או את הכיוון. במצב לייט, רמת הזום מעוגלת למספר השלם הקרוב ביותר. אם תתקשרו אל GoogleMap.moveCamera(), תקבלו תמונה נוספת של המפה במצב לייט. מידע נוסף על הגדרת המצלמה ושינוי התצוגה שלה זמין במאמר שינוי התצוגה.

התקשרות אל GoogleMap.animateCamera() לא תוביל להנפשה של תנועת המצלמה. תצוגת המצלמה תעבור מיד למיקום החדש.

מיפוי אירועים
נתמך? באופן חלקי

מצב טעינה מהירה תומך ב-GoogleMap.setOnMapClickListener() וב-GoogleMap.setOnMapLongClickListener().

כדי להשבית אירועי קליקים במפה במצב Lite, אפשר לקרוא ל-setClickable() בתצוגה שמכילה את MapView או MapFragment. זה שימושי, לדוגמה, כשמציגים מפה או מפות בתצוגת רשימה, ורוצים שאירוע הלחיצה יפעיל פעולה שלא קשורה למפה.

פרטים נוספים מופיעים במסמכי התיעוד בנושא אירועים.

מפות פנים ובניינים
נתמך? לא
במצב טעינה מהירה יוצגו אותן משבצות כמו ב-Maps Static API. המשמעות היא שאם תוכנית הקומה הפנימית מוטמעת במשבצת ברירת המחדל, היא תופיע. אחרת, לא תהיה אפשרות להשתמש בה. בנוסף, אי אפשר לשנות את הרמה שמוצגת או לתפעל את בורר הרמות.
שכבת תנועת הגולשים
נתמך? לא
אין תמיכה ב-GoogleMap.setTrafficEnabled() במצב טעינה מהירה.
שכבות-על של קרקע
נתמך? לא
אין תמיכה ב-GoogleMap.addGroundOverlay() במצב Lite.
שכבות מעל קטעי המפה
נתמך? לא
אין תמיכה ב-GoogleMap.addTileOverlay() במצב Lite.
תנועות
נתמך? לא
מצב טעינה מהירה לא תומך במחוות. הפעלה והשבתה של מחוות לא ישפיעו על הפעולה.
Street View
נתמך? לא
אין תמיכה ב-Street View במצב טעינה מהירה.