מצולע

שיעור סיום ציבורי פוליגון מרחיב את אובייקט

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

מתאר
המתאר מצוין באמצעות רשימת קודקודים בכיוון השעון או נגד כיוון השעון. הוא אין צורך בחפיפה בין נקודות ההתחלה והסיום. אחרת, הפוליגון ייסגר באופן אוטומטי. קטעי הקו משורטטים בין נקודות עוקבות בקטע הקצר יותר משני הכיוונים (מזרח או מערב).
חורים
חור הוא אזור בתוך המצולע שלא מלא. חור צוין בדיוק בדיוק כמו במתאר. קווי המתאר של החור חייבים להיות מכוסים במלואו. יותר מאחת ניתן לציין חורים, אבל החורים החופפים לא נתמכים.
רוחב הקו
רוחב של קטע קו בפיקסלים במסך. הרוחב קבוע ולא תלוי במאפייני המצלמה רמת הזום. ערך ברירת המחדל הוא 10.
צבע הקו
צבע קטע הקו בפורמט ARGB, אותו הפורמט שבו נעשה שימוש ב-Color. ערך ברירת המחדל הוא שחור (0xff000000).
סוג החיבור לשבץ
סוג המפרק מגדיר את הצורה שתשמש כשמחברים בין מקטעי קו סמוכים הקודקודים של קו המצולע. בJointType מפורטים סוגי החיבורים הנתמכים. ערך ברירת המחדל הוא DEFAULT.
קו ביטול נעילה
רציף (ברירת מחדל, מיוצג על ידי null) או רצף של PatternItem אובייקטים לחזור על עצמן לאורך קווי המתאר של המצולע. סוגי PatternItem הזמינים: Gap (מוגדר לפי אורך הפער בפיקסלים), Dash (מוגדר לפי רוחב קו וקו מפריד האורך בפיקסלים) ו-Dot (עיגול, במרכז קוטר המצולע) מוגדר לפי רוחב הקו בפיקסלים).
צבע מילוי
צבע מילוי בפורמט ARGB, אותו פורמט שבו נעשה שימוש ב-Color. ערך ברירת המחדל הוא שקוף (0x00000000). אם הגיאומטריה של הפוליגונים לא צוינה נכון (עיינו למעלה לגבי קווי מתאר וחורים), לא ייצייר אף מילוי.
אינדקס Z
הסדר שבו ישר את הפוליגון הזה ביחס לשכבות-על אחרות, כולל Polyline, Circle, GroundOverlay ו-TileOverlay, אבל לא Marker. שכבת-על עם אינדקס z גדול יותר מצוירת מעל שכבות-על עם גודל קטן יותר סימני z. הסדר של שכבות-על עם אותו ערך z-index הוא שרירותי. ברירת המחדל היא 0.
חשיפה
מראה אם הפוליגון גלוי או בלתי נראה, כלומר אם הוא משורטט במפה. פוליגון בלתי נראה לא משורטט, אלא שומר את כל שאר המאפיינים שלו. ברירת המחדל היא true, כלומר גלוי.
סטטוס גיאודזי
מציינת אם יש לשרטט את קטעי המצולע כגאודסיקה, ולא קווים ישרים בהיטל Mercator. גאודזית היא הדרך הקצרה ביותר בין שני על פני השטח של כדור הארץ. העקומה הגאודזית נבנית בהנחה שכדור הארץ הוא כדור
קליקביליות
אם רוצים לטפל באירועים שמופעלים כשהמשתמש לוחץ על הפוליגון, צריך להגדיר את המאפיין הזה. true. אפשר לשנות את הערך הזה בכל שלב. ערך ברירת המחדל הוא false. אם הנכס מוגדר ל-true, האפליקציה שלך תקבל התראות אל GoogleMap.OnPolygonClickListener שנרשם באמצעות setOnPolygonClickListener(GoogleMap.OnPolygonClickListener).
תיוג
Object שמשויך לפוליגון. לדוגמה, Object יכול להכיל על מה שהפוליגון מייצג. הפעולה הזו קלה יותר מאשר אחסון נפרד של Map<Polygon, Object>. דוגמה נוספת, אפשר לשייך מזהה String שתואם למזהה מתוך קבוצת נתונים. ערכת ה-SDK של מפות Google ל-Android לא יכולה לקרוא או כותב את המאפיין הזה.

צריך לקרוא לשיטות בכיתה הזו בשרשור של ממשק המשתמש של 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));
 

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

למידע נוסף, אפשר לקרוא את המאמר בנושא צורות מותאמת אישית.

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

בוליאני
שווה ל-(אובייקט אחר)
הפונקציה בודקת אם Polygon הזה שווה לערך אחר.
int
getFillColor()
מקבל את צבע המילוי של הפוליגון הזה.
List<List<LatLng>>
getHoles()
מחזירה תמונת מצב של החורים בפוליגון זה בשלב זה .
מחרוזת
getId()
הפונקציה מקבלת את המזהה של הפוליגון הזה.
רשימה<LatLng>
getPoints()
מחזירה תמונת מצב של קודקודי הפוליגון באותו זמן .
int
getStrokeColor()
מקבל את צבע הקו של הפוליגון הזה.
int
getStrokeJointType()
הפונקציה מקבלת את סוג חיבור הקווים שבו נעשה שימוש בכל קודקודים בקווי המתאר של המצולע.
רשימה<PatternItem>
getStrokePattern()
מקבל את תבנית הקווים של קווי המתאר של הפוליגון הזה.
מספר ממשי (float)
getStrokeWidth()
מקבל את רוחב הקו של הפוליגון הזה.
אובייקט
getTag()
מקבלת את התג של הפוליגון.
מספר ממשי (float)
getZIndex()
מקבלת את ה-zIndex של הפוליגון הזה.
int
בוליאני
isClickable()
הפונקציה מקבלת את הקליקביליות של הפוליגון.
בוליאני
isGeodesic()
הפונקציה מקבלת אם כל קטע של הקו ישר כגיאודזי או לא.
בוליאני
isVisible()
מקבל את החשיפה של הפוליגון הזה.
ריק
remove()
הסרת הפוליגון מהמפה.
ריק
setClickable(בוליאני קליקבילי)
מגדיר את הקליקביליות של הפוליגון.
ריק
setFillColor(int color)
מגדיר את צבע המילוי של הפוליגון הזה.
ריק
setGeodesic(boolean geodesic)
קובע אם לשרטט כל קטע קו כגיאודזי או לא.
ריק
setHoles(List<? extends List<LatLng>> holes)
מגדיר את החורים בפוליגון הזה.
ריק
setPoints(רשימה <LatLng> נקודות)
מגדיר את הנקודות של הפוליגון הזה.
ריק
setStrokeColor(צבע צבע)
מגדיר את צבע הקו של הפוליגון הזה.
ריק
setStrokeJointType(int jointType)
מגדיר את סוג החיבור לכל הקודקודים בקווי המתאר של המצולע.
ריק
setStrokePattern(רשימה<PatternItem> דפוס)
מגדיר את תבנית הקווים של מתאר הפוליגון.
ריק
setStrokeWidth(רוחב צף)
מגדיר את רוחב הקו של הפוליגון הזה.
ריק
setTag(תג אובייקט)
מגדיר את התג של הפוליגון.
ריק
setVisible(boolean visible)
מגדיר את החשיפה של הפוליגון הזה.
ריק
setZIndex(float zIndex)
מגדיר את ה-zIndex של הפוליגון הזה.

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

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

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

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

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

ציבורי INT getFillColor ()

מקבל את צבע המילוי של הפוליגון הזה.

החזרות
  • הצבע בפורמט ARGB.

ציבורי List<List<LatLng>> getHoles ()

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

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

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

ציבורי רשימה<LatLng> getPoints ()

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

ציבורי INT getStrokeColor ()

מקבל את צבע הקו של הפוליגון הזה.

החזרות
  • הצבע בפורמט ARGB.

ציבורי INT getStrokeJointType ()

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

החזרות
  • סוג חיבור התנועות.

ציבורי רשימה<PatternItem> getStrokePattern ()

מקבל את תבנית הקווים של קווי המתאר של הפוליגון הזה.

החזרות
  • את קו ביטול הנעילה.

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

מקבל את רוחב הקו של הפוליגון הזה.

החזרות
  • הרוחב בפיקסלים במסך.

ציבורי אובייקט getTag ()

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

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

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

מקבלת את ה-zIndex של הפוליגון הזה.

החזרות
  • את zIndex של המצולע.

ציבורי INT hashCode ()

ציבורי בוליאני isClickable ()

הפונקציה מקבלת את הקליקביליות של הפוליגון. אם הפוליגון ניתן ללחיצה, האפליקציה תקבל התראות אל GoogleMap.OnPolygonClickListener כשהמשתמש לוחץ על הפוליגון. ה-event listener רשום דרך setOnPolygonClickListener(GoogleMap.OnPolygonClickListener).

החזרות
  • true אם הפוליגון הוא קליקבילי; אחרת, מחזירה false.

ציבורי בוליאני isGeodesic ()

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

החזרות
  • true אם כל מקטע משורטט כגאודזית; false אם כל פלח משורטט כקו ישר בהיטל Mercator.

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

מקבל את החשיפה של הפוליגון הזה.

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

ציבורי ריק הסרה ()

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

ציבורי ריק setClickable (קליק בוליאני)

מגדיר את הקליקביליות של הפוליגון. אם הפוליגון ניתן ללחיצה, האפליקציה תקבל התראות אל GoogleMap.OnPolygonClickListener כשהמשתמש לוחץ על הפוליגון. ה-event listener רשום דרך setOnPolygonClickListener(GoogleMap.OnPolygonClickListener).

פרמטרים
מאפשר לחיצה הגדרה חדשה של clickability לפוליגון.

ציבורי ריק setFillColor (צבע צבע)

מגדיר את צבע המילוי של הפוליגון הזה.

פרמטרים
color [צבע] הצבע בפורמט ARGB

ציבורי ריק setGeodesic (גיאודזית בוליאנית)

קובע אם לשרטט כל קטע קו כגיאודזי או לא.

פרמטרים
גיאודזית אם הערך הוא true, כל מקטע ישורטט כגאודזית; אם false, כל מקטע משורטט כקו ישר בהיטל Mercator.

ציבורי ריק setHoles (List<? extends List<LatLng>> holes)

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

פרמטרים
חורים רשימה של חורים, כאשר חור הוא רשימה של LatLng.

ציבורי ריק setPoints (רשימה<LatLng> נקודות)

מגדיר את הנקודות של הפוליגון הזה. בשיטה הזאת בוחרים עותק של הנקודות, למוטציות ב-points לא תהיה השפעה על הפוליגון הזה.

פרמטרים
נקודות רשימה של LatLng שהם קודקודי הפוליגון.

ציבורי ריק setStrokeColor (צבע צבע)

מגדיר את צבע הקו של הפוליגון הזה.

פרמטרים
color [צבע] הצבע בפורמט ARGB

ציבורי ריק setStrokeJointType (int jointType)

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

הערכים המותרים מופיעים בJointType. ערך ברירת המחדל של DEFAULT יהיה יש להשתמש בו אם סוג המשותף לא מוגדר או שאינו אחד מהערכים המותרים.

פרמטרים
jointType סוג חיבור התנועות.

ציבורי ריק setStrokePattern (רשימה<PatternItem> דפוס)

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

פרמטרים
קו ביטול נעילה את קו ביטול הנעילה.

ציבורי ריק setStrokeWidth (רוחב צף)

מגדיר את רוחב הקו של הפוליגון הזה.

פרמטרים
רוחב הרוחב בפיקסלים לתצוגה.

ציבורי ריק setTag (תג אובייקט)

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

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

פרמטרים
תג אם הערך הוא null, התג יוסר.

ציבורי ריק setVisible (בוליאני גלוי)

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

פרמטרים
גלוי אם הערך הוא true, אז הפוליגון גלוי; אם false לא, אז הוא לא.

ציבורי ריק setZIndex (מספר ממשי (zIndex)

מגדיר את ה-zIndex של הפוליגון הזה. פוליגונים עם zאינדקסים גבוהים יותר מצוירים מעל פוליגונים עם ציונים נמוכים יותר של הטקסטים השונים.

פרמטרים
zIndex את ה-zIndex של הפוליגון הזה.