מצב בסיסי

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

דוגמאות קוד

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

סקירה כללית על מצב Lite

מפה במצב בסיסי היא תמונה בפורמט בייטמאפ של מפה במיקום וברמת התמקדות מסוימים. מצב Lite תומך בכל סוגי המפות (רגילות, היברידיות, לוויין, שטח) ובקבוצת משנה של הפונקציונליות שסופקת על ידי ה-API המלא. מצב Lite שימושי כשרוצים להציג מספר מפות בשידור או מפה קטנה מדי שלא תומכת באינטראקציה משמעותית.

משתמשים שצופים במפה לא יכולים לשנות את מרחק התצוגה או להזיז את המפה. סמלים במפה מאפשרים למשתמשים להציג את המפה באפליקציית מפות Google לנייד ולבקש מסלול הגעה.

הוספת מפה במצב טעינה מהירה

במצב טעינה מהירה נעשה שימוש באותן מחלקות וממשקים כמו ב-API המלא של מפות Google ל-Android. אפשר להגדיר 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(), אחרת לא תופיע מפה.
  • אם רוצים להציג את הנקודה 'המיקום שלי' במפה במצב בסיסי ולהשתמש במקור המיקום שמוגדר כברירת מחדל, צריך להפעיל את הפונקציות 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 המלא.
היטל
האם יש תמיכה? כן
הפונקציונליות של המצב הפשוט של Projection תואמת ל-API המלא.
המיקום שלי
האם יש תמיכה? כן
הפונקציונליות של המצב הפשוט של השכבה 'המיקום שלי' תואמת ל-API המלא.
שוליים של המפה
האם יש תמיכה? כן
התמיכה במצב טעינה מהירה במילוי של מפה תואמת ל-API המלא.
חלונות מידע
האם יש תמיכה? כן
אם תגדירו את title() של סמן, חלון המידע שמוגדר כברירת מחדל יופיע כשהמשתמש ילחץ על הסמן. אפשר להציג את חלון המידע באופן פרוגרמטי על ידי קריאה ל-showInfoWindow() על הסמן. אפשר גם ליצור חלונות מידע בהתאמה אישית דרך הממשק InfoWindowAdapter.
סגנונות מותאמים אישית של מפה בסיסית
האם יש תמיכה? Partly
ה-SDK של מפות ל-Android תומך בעיצוב מותאם אישית של מפת הבסיס. במצב Lite יש תמיכה רק בעיצוב מותאם אישית מבוסס-JSON, ולא בעיצוב מבוסס-ענן שדורש מזהה מפה כדי להציג מפה מעוצבת. בנוסף, במצב בסיסי אי אפשר להגדיר את ערכת הצבעים של המפה כך שתשתמש במצב כהה.
סמנים
האם יש תמיכה? Partly
אפשר להוסיף סמן ולהגיב לאירוע לחיצה. אפשר גם להוסיף סמלי סמנים מותאמים אישית. אי אפשר לגרור את הסמן. הסמנים במפה במצב בסיסי הם שטוחים ואי אפשר לסובב אותם.
מיקום המצלמה, זום והנפשה
האם יש תמיכה? Partly

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

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

מיפוי אירועים
האם יש תמיכה? Partly

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

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

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

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