מצב בסיסי

ה-SDK של מפות Google ל-Android יכול להציג תמונה של מפת סיביות (bitmap) של מפה, וכך להציע למשתמש אינטראקטיביות מוגבלת. המפה הזו נקראת מפה במצב בסיסי.

דוגמאות קוד

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

סקירה כללית של מצב 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. קריאה ל-GoogleMap.moveCamera() תציג לך תמונת מפה נוספת במצב Lite. למידע נוסף על הגדרה ומניפולציה של המצלמה, קראו את המאמר שינוי התצוגה.

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

מיפוי אירועים
נתמכת? חלקית

במצב Lite יש תמיכה ב-GoogleMap.setOnMapClickListener() וב-GoogleMap.setOnMapLongClickListener().

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

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

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