פקדים ותנועות

בחירת פלטפורמה: Android iOS JavaScript

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

דוגמאות קוד

המאגר ApiDemos ב-GitHub כולל דוגמה שממחישה את השימוש באפשרויות של פקדים ותנועות:

מצב בסיסי לאינטראקציה מינימלית של המשתמשים

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

רכיבים אינטראקטיביים

ב-Maps API יש רכיבים אינטראקטיביים מובנים שדומים לאלה שבאפליקציית מפות Google בטלפון Android. אפשר להחליף את החשיפה של אמצעי הבקרה האלה באמצעות המחלקה UiSettings, שאפשר לקבל מ-GoogleMap באמצעות ה-method‏ GoogleMap.getUiSettings. שינויים שבוצעו במחלקה הזו משתקפים מיד במפה. כדי לראות דוגמה לתכונות האלה, עיינו בפעילות ההדגמה של הגדרות ממשק המשתמש באפליקציה לדוגמה.

אפשר גם להגדיר את רוב האפשרויות האלה כשהמפה נוצרת באמצעות מאפייני XML או באמצעות הכיתה GoogleMapOptions. פרטים נוספים זמינים במאמר הגדרת המצב הראשוני.

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

פקדי זום

ב-Maps API יש פקדי זום מובנים שמופיעים בפינה השמאלית התחתונה של המפה. הן מושבתות כברירת מחדל, אבל אפשר להפעיל אותן באמצעות קריאה ל-UiSettings.setZoomControlsEnabled(true).

פקדי זום

מצפן

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

מצפן

כפתור המיקום שלי

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

כפתור המיקום שלי

תפריט בחירת רמה

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

אפשר להשבית או להפעיל את הפקד לבחירת קומה באמצעות קריאה ל-GoogleMap.getUiSettings().setIndoorLevelPickerEnabled(boolean).

האפשרות הזו שימושית אם רוצים להחליף את בורר הרמות שמוגדר כברירת מחדל בבורר רמות משלכם.

תפריט בחירת רמה

סרגל הכלים של המפה

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

אפשר להפעיל ולהשבית את סרגל הכלים באמצעות קריאה ל-UiSettings.setMapToolbarEnabled(boolean).

במפה במצב בסיסי, סרגל הכלים נשאר ללא קשר לפעולות של המשתמש. במפה אינטראקטיבית מלאה, סרגל הכלים מופיע כשהמשתמש לוחץ על סמן, ונעלם כשהסמן כבר לא במוקד.

בסרגל הכלים מוצגים סמלים שמאפשרים גישה לתצוגת מפה או לבקשת מסלול באפליקציית מפות Google לנייד. כשמשתמש מקיש על סמל בסרגל הכלים, ה-API יוצר Intent להפעלת הפעילות המתאימה באפליקציית מפות Google לנייד.

סרגל הכלים של המפה

סרגל הכלים מופיע בפינה השמאלית התחתונה של המפה בצילום המסך שלמעלה. אף אחד מסמלי ה-Intent, אחד מהם או שניהם יופיעו במפה, בהתאם לתוכן של המפה ובתנאי שאפליקציית מפות Google לנייד תומכת ב-Intent שנוצר.

תנועות במפה

במפה שנוצרה באמצעות SDK של מפות ל-Android אפשר להשתמש באותן תנועות כמו באפליקציית מפות Google. עם זאת, יכול להיות שתרצו להשבית תנועות מסוימות כדי לשמור על מצב המפה. אפשר גם להגדיר את מרחק התצוגה, ההזזה, ההטיה והכיוון באופן פרוגרמטי – פרטים נוספים זמינים במאמר מצלמה ותצוגה. חשוב לזכור שהשבתת התנועות לא משפיעה על האפשרות לשנות את מיקום המצלמה באופן פרוגרמטי.

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

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

תנועות לשינוי מרחק התצוגה

המפה מגיבה למגוון תנועות שיכולות לשנות את רמת הזום של המצלמה:

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

כדי להשבית את תנועות הזום, אפשר להפעיל את הפונקציה UiSettings.setZoomGesturesEnabled(boolean). ההגדרה הזו לא משפיעה על האפשרות של המשתמשים להשתמש בפקדי הזום כדי להגדיל ולהקטין את התצוגה.

תנועות גלילה (הזזה)

המשתמשים יכולים לגלול (להזיז) את המפה על ידי גרירה שלה עם האצבע. כדי להשבית את הגלילה, אפשר להפעיל את הפונקציה UiSettings.setScrollGesturesEnabled(boolean).

תנועות הטיה

כדי להטות את המפה, המשתמש יכול להניח שתי אצבעות על המפה ולהזיז אותן למטה או למעלה ביחד כדי להגדיל או להקטין את זווית ההטיה, בהתאמה. כדי להשבית את תנועות ההטיה, מפעילים את UiSettings.setTiltGesturesEnabled(boolean).

תנועות סיבוב

המשתמשים יכולים לסובב את המפה על ידי הנחת שתי אצבעות על המפה וביצוע תנועת סיבוב. כדי להשבית את הרוטציה, אפשר להפעיל את UiSettings.setRotateGesturesEnabled(boolean).