טוש

מחלקה סופית ציבורית סמן מרחיב אובייקט

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

לסמן יש את המאפיינים הבאים:

אלפא
מגדיר את שקיפות הסמן. ברירת המחדל היא 1.0.
עוגן
הנקודה על התמונה תמוקם במיקום LatLng של הסמן. ברירת המחדל היא 50% מהקצה השמאלי של התמונה ובחלק התחתון שלה.
מיקום
הערך LatLng של מיקום הסמן במפה. אפשר לשנות את הערך הזה בכל שלב אם רוצים להזיז את הסמן.
כותרת
מחרוזת טקסט שמוצגת בחלון מידע כשהמשתמש מקיש על הסמן. אפשר לשנות את הערך הזה בכל שלב.
קטע קוד
טקסט נוסף שמוצג מתחת לכותרת. אפשר לשנות את הערך הזה בכל שלב.
סמל
מפת סיביות שמוצגת עבור הסמן. אם הסמל לא מוגדר, יוצג סמל ברירת מחדל. ניתן לציין צבע חלופי לסמל ברירת המחדל באמצעות defaultMarker(float).
סטטוס הגרירה
כדי לאפשר למשתמש לגרור את הסמן, צריך להגדיר את המאפיין הזה כ-true. אפשר לשנות את הערך הזה בכל שלב. ברירת המחדל היא false.
חשיפה
כברירת מחדל, הסמן גלוי. כדי שהסמן לא יהיה גלוי, צריך להגדיר את המאפיין הזה כ-false. אפשר לשנות את הערך הזה בכל שלב.
שטוחה או לוח מודעות
אם הסמן נמצא במצב שטוח על המפה, הוא יישאר תקוע במפה בזמן שהמצלמה מסתובבת והטיה אבל נשאר בגודל זהה לזה של המצלמה, בניגוד ל-GroundOverlay. אם הסמן הוא לוח מודעות, הוא תמיד יצויר מול המצלמה והוא יסתובב ותיטה עם המצלמה. ברירת המחדל היא לוח מודעות (false)
סיבוב
סיבוב הסמן במעלות בכיוון השעון סביב נקודת העוגן של הסמן. ציר הסיבוב אנכי לסמן. סיבוב של 0 תואם למיקום ברירת המחדל של הסמן. כאשר הסמן שטוח במפה, מיקום ברירת המחדל הוא צפון והסיבוב הוא כך שהסמן תמיד נשאר שטוח במפה. כשהסמן הוא של לוח מודעות, המיקום שמוגדר כברירת מחדל הוא למעלה והסיבוב הוא כך שהסמן תמיד פונה למצלמה. ערך ברירת המחדל הוא 0.
zIndex
סדר השרטוט של הסמן. הסמנים משורטטים לפי הסדר של zIndex, כאשר סמן zIndex הגבוה ביותר משורטט למעלה. הגדרת המאפיין zIndex של כל סמן מאפשרת לקבוע את יעד ההקשה שסביר להניח שהמשתמשים שלך יפגעו. ערך ברירת המחדל הוא 0.
תיוג
Object המשויך לסמן. לדוגמה, Object יכול להכיל נתונים על מה שהסמן מייצג. זה קל יותר מאשר אחסון Map<Marker, Object> נפרד. דוגמה נוספת: אפשר לשייך מזהה String שתואם למזהה ממערך נתונים. ה-SDK של מפות Google ל-Android לא קורא או כותב את הנכס הזה.

חובה לקרוא לשיטות במחלקה הזו ב-thread UI של Android. אחרת, המערכת תשליך IllegalStateException בזמן הריצה.

דוגמה

GoogleMap map = ... // get a map.
 // Add a marker at San Francisco.
 Marker marker = map.addMarker(new MarkerOptions()
     .position(new LatLng(37.7750, 122.4183))
     .title("San Francisco")
     .snippet("Population: 776733"));
 

מדריך למפתחים

מידע נוסף זמין במדריך למפתחים של Markers.

סיכום של הכיתה המוצבת

@interface Marker.CollisionBehavior מציין את אופן הטיפול בסמן כשהוא מעורב בהתנגשות עם סמנים אחרים או תוויות מפת בסיס. 

סיכום אמצעי תשלום ציבורי

boolean
equals(אובייקט אחר)
הפונקציה בודקת אם Marker הזה שווה לערך אחר.
float
getAlpha()
הפונקציה מקבלת את האלפא של הסמן.
מחרוזת
getId()
הפונקציה מקבלת את המזהה של הסמן הזה.
LatLng
getPosition()
מחזירה את מיקום הסמן.
float
getRotation()
הפונקציה מקבלת את הסיבוב של הסמן.
מחרוזת
getSnippet()
הפונקציה מקבלת את הקטע של הסמן.
אובייקט
getTag()
הפונקציה מקבלת את התג של הסמן.
מחרוזת
getTitle()
מקבל את כותרת הסמן.
float
getZIndex()
מחזירה את zIndex של הסמן.
int
void
hideInfoWindow()
מסתיר את חלון המידע אם הוא מוצג מסמן זה.
boolean
isDraggable()
הפונקציה מקבלת את יכולת הגרירה של הסמן.
boolean
isFlat()
קבלת ההגדרה השטוחה של הסמן.
boolean
isInfoWindowShown()
מחזירה אם חלון המידע מוצג כרגע מעל לסמן זה.
boolean
isVisible()
קבלת הגדרת החשיפה של הסמן הזה.
void
remove()
הסרת הסמן מהמפה.
void
setAlpha(float alpha)
מגדיר את האלפא (האטימות) של הסמן.
void
setAnchor(float anchorU, float anchorV)
הגדרת נקודת העוגן של הסמן.
void
setDraggable(ניתן לגרירה בוליאנית)
הגדרת יכולת הגרירה של הסמן.
void
setFlat(בוליאני שטוח)
הגדרה זו קובעת אם הסמן הזה יחובר למפה true או ללוח מודעות שפונה למצלמה false.
void
setIcon(סמל BitmapDescriptor סמלDescriptor)
הגדרת הסמל של הסמן.
void
setInfoWindowAnchor(float anchorU, float anchorV)
מציין את הנקודה בתמונת הסמן שבה חלון המידע יוצג.
void
setPosition(LatLng latlng)
מגדיר את מיקום הסמן.
void
setRotation(סיבוב צף)
מגדיר את סיבוב הסמן במעלות בכיוון השעון סביב נקודת העוגן של הסמן.
void
setSnippet(קטע קוד של מחרוזת)
מגדיר את קטע הטקסט של הסמן.
void
setTag(תג אובייקט)
מגדיר את התג של הסמן.
void
setTitle(כותרת מחרוזת)
מגדיר את כותרת הסמן.
void
setVisible(גלוי בוליאני)
הגדרת החשיפה של הסמן הזה.
void
setZIndex(float zIndex)
מגדיר את zIndex של הסמן.
void
showInfoWindow()
מציג את חלון המידע של סמן זה במפה, אם סמן זה isVisible().

סיכום שיטות שעברו בירושה

שיטות ציבוריות

ערך בוליאני ציבורי שווה (אובייקט אחר)

הפונקציה בודקת אם Marker הזה שווה לערך אחר.

פרמטרים
אחר Object.
החזרות
  • TRUE אם שני האובייקטים הם אותו אובייקט, כלומר == אחר.

מספר ממשי (float) ציבורי getAlpha ()

הפונקציה מקבלת את האלפא של הסמן.

החזרות
  • האלפא של הסמן בטווח [0, 1].

מחרוזת ציבורית getId ()

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

החזרות
  • המזהה של הסמן הזה.

ציבורי LatLng getPosition ()

מחזירה את מיקום הסמן.

החזרות
  • אובייקט LatLng שמציין את המיקום הנוכחי של הסמן.

מספר ממשי (float) ציבורי getRotation ()

הפונקציה מקבלת את הסיבוב של הסמן.

החזרות
  • סיבוב הסמן במעלות בכיוון השעון ממיקום ברירת המחדל.

מחרוזת ציבורית getSnippet ()

הפונקציה מקבלת את הקטע של הסמן.

החזרות
  • מחרוזת שמכילה את קטע הטקסט של הסמן.

Public אובייקט getTag ()

הפונקציה מקבלת את התג של הסמן.

החזרות
  • התג אם התג הוגדר עם setTag; null אם לא הוגדר תג.

מחרוזת ציבורית getTitle ()

מקבל את כותרת הסמן.

החזרות
  • מחרוזת שמכילה את כותרת הסמן.

מספר ממשי (float) ציבורי getZIndex ()

מחזירה את zIndex של הסמן.

החזרות
  • את ה-zIndex של הסמן.

int ציבורי hashCode ()

Public void hideInfoWindow ()

מסתיר את חלון המידע אם הוא מוצג מסמן זה.

לשיטה הזו אין השפעה אם הסמן הזה לא גלוי.

ערך בוליאני ציבורי isDraggable ()

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

החזרות
  • true אם הסמן ניתן לגרירה. אחרת, הפונקציה מחזירה את הערך false.

ערך בוליאני ציבורי isFlat ()

קבלת ההגדרה השטוחה של הסמן.

החזרות
  • true אם הסמן שטוח על המפה. false אם הסמן צריך לפנות למצלמה.

ערך בוליאני ציבורי isInfoWindowShown ()

מחזירה אם חלון המידע מוצג כרגע מעל לסמן זה. זה לא כולל אם חלון המידע גלוי בפועל במסך.

ערך בוליאני ציבורי isVisible ()

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

החזרות
  • החשיפה של סמן זה.

Public void הסרה ()

הסרת הסמן מהמפה. לאחר הסרת סמן, ההתנהגות של כל השיטות שלו לא מוגדרת.

Public void setAlpha (float alpha)

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

פרמטרים
alpha

Public void setAnchor (float anchorU, float anchorV)

הגדרת נקודת העוגן של הסמן.

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

נקודת העיגון מצוינת בשטח הרציף [0.0, 1.0] x [0.0, 1.0], כאשר (0, 0) היא הפינה השמאלית העליונה של התמונה ו-(1, 1) היא הפינה הימנית התחתונה. נקודת העיגון בתמונה של W x H היא נקודת הרשת הנפרדת הקרובה ביותר ברשת של (W + 1) x (H + 1), שמתקבלת על ידי שינוי גודל העיגול ואז. לדוגמה, בתמונה בגודל 4 x 2, נקודת העיגון (0.7, 0.6) הופכת לנקודת הרשת (3, 1).

 *-----+-----+-----+-----*
 |     |     |     |     |
 |     |     |     |     |
 +-----+-----+-----+-----+
 |     |     |   X |     |   (U, V) = (0.7, 0.6)
 |     |     |     |     |
 *-----+-----+-----+-----*
 *-----+-----+-----+-----*
 |     |     |     |     |
 |     |     |     |     |
 +-----+-----+-----X-----+   (X, Y) = (3, 1)
 |     |     |     |     |
 |     |     |     |     |
 *-----+-----+-----+-----*
 

פרמטרים
anchorU קואורדינטת U של העוגן, כיחס של רוחב התמונה (בטווח [0, 1]).
anchorV קואורדינטת ה-v של העוגן, ביחס לגובה התמונה (בטווח [0, 1]).

Public void setDraggable (boolean draggable)

הגדרת יכולת הגרירה של הסמן. כשאפשר לגרור סמן, המשתמש יכול להזיז אותו על ידי לחיצה ארוכה על הסמן.

פרמטרים
ניתן לגרירה

Public void setFlat (בוליאני שטוח)

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

פרמטרים
שטוחה

Public void setIcon (BitmapDescriptor iconDescriptor)

הגדרת הסמל של הסמן.

פרמטרים
iconDescriptor אם null, נעשה שימוש בסמן ברירת המחדל.

Public void setInfoWindowAnchor (float anchorU, float anchorV)

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

פרמטרים
anchorU קואורדינטת U של העוגן של חלון המידע, ביחס לרוחב התמונה (בטווח [0, 1]).
anchorV קואורדינטת V של העוגן של חלון המידע, ביחס לגובה התמונה (בטווח [0, 1]).

Public void setPosition (LatLng latlng)

מגדיר את מיקום הסמן.

פרמטרים
latlng

Public void setRotation (סבב צף)

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

פרמטרים
סבב

Public void setSnippet (קטע קוד של מחרוזת)

מגדיר את קטע הטקסט של הסמן.

פרמטרים
תקציר אם הערך הוא null, המקטע נמחק.

Public void setTag (תג אובייקט)

מגדיר את התג של הסמן.

אפשר להשתמש במאפיין הזה כדי לשייך Object שרירותי לסמן הזה. לדוגמה, Object יכול להכיל נתונים על מה שהסמן מייצג. זה קל יותר מאשר אחסון של שדה Map<Marker, Object> נפרד. דוגמה נוספת: אפשר לשייך מזהה String שתואם למזהה ממערך נתונים. ה-SDK של מפות Google ל-Android לא קורא או כותב את הנכס הזה. עליך להפעיל את setTag(null) כדי לנקות את התג כשלא צריכים אותו יותר, כדי למנוע דליפות זיכרון באפליקציה.

פרמטרים
תג אם null, התג ינוקה.

Public void setTitle (כותרת המחרוזת)

מגדיר את כותרת הסמן.

פרמטרים
שם פריט אם null, הכותרת תימחק.

Public void setVisible (boolean visible)

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

פרמטרים
גלוי

Public void setZIndex (float zIndex)

מגדיר את zIndex של הסמן.

פרמטרים
zIndex

Public void showInfoWindow ()

מציג את חלון המידע של סמן זה במפה, אם סמן זה isVisible().

קליעות
IllegalArgumentException אם marker לא מופיע במפה הזו