פוליגון על פני השטח של כדור הארץ. פוליגון יכול להיות קמור או קעור, הוא יכול להתפרס על פני קו האורך 180 וייתכן שיהיו בו חורים שלא מולאו. יש לו את המאפיינים הבאים:
- קווי מתאר
- המתווה מצוינים על ידי רשימת קודקודים בסדר בכיוון השעון או נגד כיוון השעון. אין צורך שנקודות ההתחלה ונקודות הסיום חופפות זו לזו. אם הן לא חופפות, הפוליגון ייסגר באופן אוטומטי. משורטטים קטעי קו בין נקודות עוקבות במסלול הקצר מבין שני הכיוונים (מזרח או מערב).
- חורים
- חור הוא אזור בתוך הפוליגון שלא מלא. חור מצוין בדיוק באותו אופן כמו קווי המתאר. חור חייב להיות ממוקם במלואו בתוך קו המתאר. ניתן לציין כמה חורים, אבל אין תמיכה בחורים חופפים.
- רוחב קו
- רוחב מקטע הקו בפיקסלים של המסך. הרוחב קבוע ובלתי תלוי ברמת הזום של המצלמה. ערך ברירת המחדל הוא 10.
- צבע הקו
- צבע מקטע הקו בפורמט ARGB, באותו פורמט שבו נעשה שימוש ב-
Color
. ערך ברירת המחדל הוא שחור (0xff000000
). - סוג מפרק הקו
- סוג המחבר מגדיר את הצורה שבה יש להשתמש כשמחברים בין קטעי קו סמוכים בכל הקודקודים בקווי המתאר של הפוליגון. ב
JointType
מפורטים סוגי החיבורים הנתמכים. ערך ברירת המחדל הואDEFAULT
. - תבנית משיכה
- קבוע (ברירת המחדל, מיוצג על ידי
null
) או רצף שלPatternItem
אובייקטים שיש לחזור עליהם לאורך קווי המתאר של הפוליגון. סוגי הPatternItem
הזמינים:Gap
(מוגדר על ידי אורך הפער בפיקסלים),Dash
(מוגדר לפי רוחב הקו והקו המפריד בפיקסלים) ו-Dot
(עיגול, במרכז קו המתאר של הפוליגון, הקוטר מוגדר לפי רוחב הקו בפיקסלים). - צבע מילוי
- צבע מילוי בפורמט ARGB, באותו פורמט שבו משתמש
Color
. ערך ברירת המחדל הוא שקוף (0x00000000
). אם גיאומטריית הפוליגון לא מוגדרת נכון (ראו למעלה כדי לראות את קווי המתאר וחורים), לא יצויר מילוי. - מדד Z
- הסדר שבו משורטט הפוליגון הזה ביחס לשכבות-על אחרות, כולל
Polyline
,Circle
,GroundOverlay
ו-TileOverlay
, אבל לאMarker
. שכבת-על עם אינדקס-z גדול יותר משורטטת מעל שכבות-על עם אינדקסים קטנים יותר. הסדר של שכבות-העל עם אותו ערך z-index הוא שרירותי. ערך ברירת המחדל הוא 0. - חשיפה
- מראה אם הפוליגון גלוי או מוסתר, כלומר אם הוא משורטט במפה. לא משורטטים
פוליגון בלתי נראה, אבל כל המאפיינים האחרים שלו נשמרים. ברירת המחדל היא
true
, כלומר גלויה. - סטטוס גיאודזי
- מראה אם צריך לצייר את קטעי הפוליגון כגיאודזי, ולא כקווים ישרים בהיטל של המרקטור. נתיב גיאודזי הוא הדרך הקצרה ביותר בין שתי נקודות על פני כדור הארץ. העקומה הגיאודזית נבנתה בהנחה שכדור הארץ הוא כדור
- קליקביליות
- אם רוצים לטפל באירועים שהופעלו כשהמשתמש לוחץ על הפוליגון, צריך להגדיר את המאפיין הזה כ-
true
. אפשר לשנות את הערך הזה בכל שלב. ברירת המחדל היאfalse
. אם המאפיין הזה מוגדר ל-true
, האפליקציה שלך תקבל התראות ל-GoogleMap.OnPolygonClickListener
שנרשמו דרךsetOnPolygonClickListener(GoogleMap.OnPolygonClickListener)
. - תיוג
Object
המשויך לפוליגון. לדוגמה, השדהObject
יכול להכיל נתונים על מה שהפוליגון מייצג. זה קל יותר מאשר אחסוןMap<Polygon, Object>
נפרד. דוגמה נוספת: אפשר לשייך מזההString
שתואם למזהה ממערך נתונים. ה-SDK של מפות Google ל-Android לא קורא או כותב את הנכס הזה.
חובה לקרוא לשיטות במחלקה הזו ב-thread UI של Android. אחרת, המערכת תשליך IllegalStateException
בזמן הריצה.
דוגמה
GoogleMap map;
// ... get a map.
// Add a triangle in the Gulf of Guinea
Polygon polygon = map.addPolygon(new PolygonOptions()
.add(new LatLng(0, 0), new LatLng(0, 5), new LatLng(3, 5), new LatLng(0, 0))
.strokeColor(Color.RED)
.fillColor(Color.BLUE));
מדריך למפתחים
מידע נוסף זמין במדריך למפתחים בנושא צורות.
סיכום אמצעי תשלום ציבורי
boolean | |
int |
getFillColor()
הפונקציה מקבלת את צבע המילוי של הפוליגון הזה.
|
List<List<LatLng>> |
getHoles()
מחזירה תמונת מצב של החורים במצולע זה בשלב זה .
|
מחרוזת |
getId()
הפונקציה מקבלת את המזהה של הפוליגון הזה.
|
List<LatLng> |
getPoints()
מחזירה תמונת מצב של הקודקודים של המצולע באותו זמן .
|
int |
getStrokeColor()
הפונקציה מקבלת את צבע הקווים של הפוליגון הזה.
|
int |
getStrokeJointType()
הפונקציה מקבלת את סוג החיבור הקווי שבו נעשה שימוש בכל הקודקודים של קווי המתאר של הפוליגון.
|
List<PatternItem> |
getStrokePattern()
הפונקציה מקבלת את תבנית הקווים של קווי המתאר של הפוליגון הזה.
|
float |
getStrokeWidth()
הפונקציה מקבלת את רוחב הקווים של הפוליגון הזה.
|
אובייקט |
getTag()
הפונקציה מקבלת את התג של הפוליגון.
|
float |
getZIndex()
הפונקציה מקבלת את ה-zIndex של הפוליגון הזה.
|
int |
hashCode()
|
boolean |
isClickable()
הפונקציה מקבלת את הקליקביליות של הפוליגון.
|
boolean |
isGeodesic()
הפונקציה הזו קובעת אם כל מקטע של הקו משורטט כגיאודזי או לא.
|
boolean |
isVisible()
מקבל את החשיפה של הפוליגון הזה.
|
void |
remove()
הסרת הפוליגון מהמפה.
|
void |
setClickable(ערך בוליאני לחיץ)
מגדיר את הקליקביליות של הפוליגון.
|
void |
setFillColor(צבע סנט)
הגדרת צבע המילוי של פוליגון זה.
|
void |
setGeodesic(גיאודזי בוליאני)
קובעת אם לשרטט כל מקטע של הקו כגיאודזי או לא.
|
void | |
void | |
void |
setStrokeColor(צבע צבע)
הגדרת צבע הקווים של הפוליגון הזה.
|
void |
setStrokeJointType(int jointType)
הגדרת סוג החיבור לכל הקודקודים בקווי המתאר של הפוליגון.
|
void | |
void |
setStrokeWidth(רוחב צף)
הגדרת רוחב הקווים של הפוליגון הזה.
|
void |
setTag(תג אובייקט)
מגדיר את התג של הפוליגון.
|
void |
setVisible(גלוי בוליאני)
מגדיר את החשיפה של הפוליגון הזה.
|
void |
setZIndex(float zIndex)
מגדיר את zIndex של פוליגון זה.
|
סיכום שיטות שעברו בירושה
שיטות ציבוריות
ערך בוליאני ציבורי שווה (אובייקט אחר)
int ציבורי getFillColor ()
הפונקציה מקבלת את צבע המילוי של הפוליגון הזה.
החזרות
- את הצבע בפורמט ARGB.
רשימה ציבורית<List<LatLng>> getHoles ()
מחזירה תמונת מצב של החורים במצולע זה בשלב זה . הרשימה שמוחזרת היא עותק של רשימת החורים, כך ששינויים בחורי הפוליגון לא יבואו לידי ביטוי ברשימה הזו, וכמו כן, שינויים ברשימה לא יבואו לידי ביטוי בפוליגון.
מחרוזת ציבורית getId ()
הפונקציה מקבלת את המזהה של הפוליגון הזה. המזהה יהיה ייחודי בין כל הפוליגונים במפה.
רשימה ציבורית<LatLng> getPoints ()
מחזירה תמונת מצב של הקודקודים של המצולע באותו זמן . הרשימה שמוחזרת היא עותק של רשימת הקודקודים ולכן שינויים בקודקודים של הפוליגון לא יבואו לידי ביטוי ברשימה
זו, ושינויים ברשימה הזו לא יבואו לידי ביטוי בפוליגון. כדי לשנות את הקודקודים של הפוליגון, צריך לקרוא לפונקציה setPoints(List)
.
int ציבורי getStrokeColor ()
הפונקציה מקבלת את צבע הקווים של הפוליגון הזה.
החזרות
- את הצבע בפורמט ARGB.
Public int getStrokeJointType ()
הפונקציה מקבלת את סוג החיבור הקווי שבו נעשה שימוש בכל הקודקודים של קווי המתאר של הפוליגון. ערכים אפשריים: JointType
.
החזרות
- סוג חיבור הקו.
רשימה ציבורית<PatternItem> getStrokePattern ()
הפונקציה מקבלת את תבנית הקווים של קווי המתאר של הפוליגון הזה.
החזרות
- את תבנית הקווים.
מספר ממשי (float) ציבורי getStrokeWidth ()
הפונקציה מקבלת את רוחב הקווים של הפוליגון הזה.
החזרות
- הרוחב בפיקסלים של המסך.
Public אובייקט getTag ()
הפונקציה מקבלת את התג של הפוליגון.
החזרות
- התג אם התג הוגדר עם
setTag
;null
אם לא הוגדר תג.
מספר ממשי (float) ציבורי getZIndex ()
הפונקציה מקבלת את ה-zIndex של הפוליגון הזה.
החזרות
- את ה-zIndex של הפוליגון.
int ציבורי hashCode ()
ערך בוליאני ציבורי isClickable ()
הפונקציה מקבלת את הקליקביליות של הפוליגון. אם אפשר ללחוץ על הפוליגון, האפליקציה תקבל התראות
ל-GoogleMap.OnPolygonClickListener
כשהמשתמש ילחץ על הפוליגון.
ה-event listener רשום דרך setOnPolygonClickListener(GoogleMap.OnPolygonClickListener)
.
החזרות
true
אם ניתן ללחוץ על הפוליגון. אחרת, הפונקציה מחזירה את הערךfalse
.
ערך בוליאני ציבורי isGeodesic ()
הפונקציה הזו קובעת אם כל מקטע של הקו משורטט כגיאודזי או לא.
החזרות
true
אם כל מקטע משורטט כגיאודזי.false
אם כל מקטע משורטט כקו ישר בהיטל המרקטור.
ערך בוליאני ציבורי isVisible ()
מקבל את החשיפה של הפוליגון הזה.
החזרות
- החשיפה של הפוליגון.
Public void הסרה ()
הסרת הפוליגון מהמפה. לאחר הסרת פוליגון, ההתנהגות של כל השיטות שלו לא מוגדרת.
Public void setClickable (ניתנת ללחיצה בוליאנית)
מגדיר את הקליקביליות של הפוליגון. אם אפשר ללחוץ על הפוליגון, האפליקציה תקבל התראות
ל-GoogleMap.OnPolygonClickListener
כשהמשתמש ילחץ על הפוליגון.
ה-event listener רשום דרך setOnPolygonClickListener(GoogleMap.OnPolygonClickListener)
.
פרמטרים
מאפשר לחיצה | הגדרה חדשה ללחיצה על הפוליגון. |
---|
Public void setFillColor (int color)
הגדרת צבע המילוי של פוליגון זה.
פרמטרים
color [צבע] | את הצבע בפורמט ARGB |
---|
Public void setGeodesic (boolean geodesic)
קובעת אם לשרטט כל מקטע של הקו כגיאודזי או לא.
פרמטרים
גיאודזי | אם true , אז כל מקטע משורטט כגיאודזי. אם false ,
כל מקטע משורטט כקו ישר בהיטל המרקטור.
|
---|
Public void setHoles (רשימה<? מרחיב חורי רשימה<LatLng>>)
מגדיר את החורים בפוליגון זה. השיטה הזו תיצור עותק של החורים, כך שמוטציות נוספות
ל-holes
לא ישפיעו על הפוליגון הזה.
פרמטרים
חורים | רשימת חורים, כאשר חור הוא רשימה של LatLng .
|
---|
Public void setPoints (רשימה<LatLng> נקודות)
מגדיר את הנקודות של פוליגון זה. השיטה הזו תיצור עותק של הנקודות, כך שמוטציות נוספות
של points
לא ישפיעו על הפוליגון הזה.
פרמטרים
נקודות | רשימה של יחידות LatLng שהן הקודקודים של הפוליגון.
|
---|
Public void setStrokeColor (int color)
הגדרת צבע הקווים של הפוליגון הזה.
פרמטרים
color [צבע] | את הצבע בפורמט ARGB |
---|
Public void setStrokeJointType (int jointType)
Public void setStrokePattern (List<PatternItem> דפוס)
מגדיר את תבנית הקווים של קווי המתאר של הפוליגון. דפוס הקווים המוגדר כברירת מחדל הוא קבוע ומיוצג על ידי null
.
פרמטרים
קו ביטול נעילה | את תבנית הקווים. |
---|
Public void setStrokeWidth (float רוחב)
הגדרת רוחב הקווים של הפוליגון הזה.
פרמטרים
רוחב | הרוחב בפיקסלים לתצוגה. |
---|
Public void setTag (תג אובייקט)
מגדיר את התג של הפוליגון.
אפשר להשתמש במאפיין הזה כדי לשייך Object
שרירותי לפוליגון הזה. לדוגמה, השדה Object
יכול להכיל נתונים על מה שהפוליגון מייצג. זה קל יותר
מאשר אחסון של שדה Map<Polygon, Object>
נפרד. דוגמה נוספת: אפשר לשייך
מזהה String
שתואם למזהה ממערך נתונים. ה-SDK של מפות Google ל-Android לא
קורא או כותב את הנכס הזה. עליך להפעיל את setTag(null)
כדי לנקות את התג כשלא צריכים אותו יותר, כדי למנוע דליפות זיכרון באפליקציה.
פרמטרים
תג | אם null, התג ינוקה. |
---|
Public void setVisible (boolean visible)
מגדיר את החשיפה של הפוליגון הזה. כשלא רואים את הפוליגון, לא משורטטים עליו, אבל כל המאפיינים האחרים שלו נשמרים.
פרמטרים
גלוי | אם true , הפוליגון גלוי. אם false הוא לא גלוי.
|
---|
Public void setZIndex (float zIndex)
מגדיר את zIndex של פוליגון זה. מצולעים עם אינדקסים גבוהים יותר משורטטים מעל אלה עם אינדקסים נמוכים יותר.
פרמטרים
zIndex | את ה-zIndex של הפוליגון. |
---|