รูปหลายเหลี่ยม

คลาสสุดท้ายแบบสาธารณะ Polygon ขยายออบเจ็กต์

รูปหลายเหลี่ยมบนพื้นผิวโลก รูปหลายเหลี่ยมอาจเป็นแบบนูนหรือเว้าก็ได้ รูปหลายเหลี่ยมอาจครอบคลุมเส้นเมริเดียน 180 และมีรูเต็มได้ โดยมีพร็อพเพอร์ตี้ดังต่อไปนี้

เส้นขอบ
โครงร่างระบุโดยรายการจุดยอดที่เรียงตามลำดับตามเข็มนาฬิกาหรือทวนเข็มนาฬิกา ไม่จำเป็นต้องทำให้จุดเริ่มต้นและจุดสิ้นสุดสอดคล้องกัน หากไม่ใช่ รูปหลายเหลี่ยมจะปิดโดยอัตโนมัติ เส้นแบ่งระหว่างจุดต่อเนื่องกันใน 2 ทิศทางที่สั้นกว่า (ตะวันออกหรือตะวันตก)
หลุม
ช่องคือพื้นที่ภายในรูปหลายเหลี่ยมที่ไม่ได้รับการเติมสี มีการระบุหลุมในลักษณะเดียวกับโครงร่าง ต้องมีหลุมอยู่ในโครงร่างทั้งหมด คุณระบุหลุมได้หลายหลุม แต่ไม่รองรับรูที่ทับซ้อนกัน
ความกว้างของเส้นโครงร่าง
ความกว้างของเส้นตรงในหน่วยพิกเซลหน้าจอ ความกว้างจะคงที่และไม่ขึ้นอยู่กับระดับการซูมของกล้อง ค่าเริ่มต้นคือ 10
สีเส้นโครงร่าง
สีส่วนของเส้นในรูปแบบ ARGB ซึ่งเป็นรูปแบบเดียวกับที่ Color ใช้ ค่าเริ่มต้นคือสีดำ (0xff000000)
ประเภทข้อต่อเส้นโครงร่าง
ประเภทข้อต่อจะกำหนดรูปทรงที่จะใช้เมื่อผนวกส่วนของเส้นที่อยู่ติดกันที่จุดยอดมุมทั้งหมดของโครงร่างรูปหลายเหลี่ยม ดูประเภทข้อต่อที่รองรับที่ JointType ค่าเริ่มต้นคือ DEFAULT
รูปแบบเส้น
ทึบ (ค่าเริ่มต้นแสดงด้วย null) หรือลำดับของวัตถุ PatternItem ที่จะแสดงซ้ำในโครงร่างของรูปหลายเหลี่ยม ประเภท PatternItem ที่ใช้ได้ ได้แก่ Gap (ระบุด้วยความยาวช่องว่างเป็นพิกเซล), Dash (กำหนดโดยความกว้างของเส้นโครงร่างและความยาวเส้นประเป็นพิกเซล) และ Dot (เป็นวงกลม อยู่กึ่งกลางของเส้นรอบรูปของรูปหลายเหลี่ยม ขนาดเส้นผ่านศูนย์กลางที่กำหนดโดยความกว้างของเส้นเป็นพิกเซล)
เติมสี
เติมสีในรูปแบบ ARGB ซึ่งเป็นรูปแบบเดียวกับที่ Color ใช้ ค่าเริ่มต้นคือโปร่งใส (0x00000000) หากไม่ได้ระบุเรขาคณิตของรูปหลายเหลี่ยมอย่างถูกต้อง (ดูโครงร่างและหลุมด้านบน) จะไม่มีการวาดเติม
ดัชนีลำดับ Z
ลำดับการวาดรูปหลายเหลี่ยมตามการวางซ้อนอื่นๆ ซึ่งรวมถึง Polyline, Circle, GroundOverlay และ TileOverlay แต่ไม่ใช่ Marker การวางซ้อนที่มีดัชนี z ใหญ่กว่าจะถูกวาดทับบนโฆษณาซ้อนทับที่มีดัชนี z ที่เล็กกว่า ลำดับของโฆษณาซ้อนทับที่มีค่าดัชนี z เดียวกันจะเป็นแบบควบคุมตัวเอง ค่าเริ่มต้นคือ 0
ระดับการแชร์
ระบุว่ารูปหลายเหลี่ยมมองเห็นได้หรือไม่ เช่น รูปหลายเหลี่ยมนั้นวาดบนแผนที่ ระบบจะไม่วาดรูปหลายเหลี่ยมที่มองไม่เห็น แต่คุณสมบัติอื่นๆ ทั้งหมดของรูปหลายเหลี่ยมนั้นจะยังคงอยู่ ค่าเริ่มต้นคือ true นั่นคือแสดง
สถานะทางภูมิศาสตร์
ระบุว่าควรวาดส่วนของรูปหลายเหลี่ยมหรือไม่เป็นแบบภูมิศาสตร์ ไม่ใช่เส้นตรงบนเส้นโครงเมอร์เคเตอร์ ภูมิศาสตร์โลกเป็นเส้นทางที่สั้นที่สุดระหว่างจุด 2 จุดบนพื้นผิวโลก เส้นโค้งทางภูมิศาสตร์สร้างขึ้นโดยมีสมมติฐานว่าโลกเป็นทรงกลม
ความสามารถในการคลิกได้
หากต้องการจัดการเหตุการณ์ที่เริ่มทำงานเมื่อผู้ใช้คลิกรูปหลายเหลี่ยม ให้ตั้งค่าพร็อพเพอร์ตี้นี้เป็น true คุณสามารถเปลี่ยนแปลงค่านี้ได้ตลอดเวลา ค่าเริ่มต้นคือ false หากตั้งค่าพร็อพเพอร์ตี้นี้เป็น true แอปของคุณจะได้รับการแจ้งเตือนไปยัง GoogleMap.OnPolygonClickListener ที่ลงทะเบียนจนถึงวันที่ setOnPolygonClickListener(GoogleMap.OnPolygonClickListener)
ติดแท็ก
Object ที่เชื่อมโยงกับรูปหลายเหลี่ยม ตัวอย่างเช่น Object อาจมีข้อมูลเกี่ยวกับสิ่งที่รูปหลายเหลี่ยมนั้นนำเสนอ วิธีนี้ง่ายกว่าการเก็บ Map<Polygon, Object> แยกต่างหาก อีกตัวอย่างหนึ่งก็คือ คุณสามารถเชื่อมโยงรหัส String ที่ตรงกับรหัสจากชุดข้อมูล Google Maps SDK สำหรับ Android จะไม่อ่านและเขียนพร็อพเพอร์ตี้นี้

ต้องเรียกใช้เมธอดในคลาสนี้บนเธรด 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
เท่ากับ(ออบเจ็กต์อื่นๆ)
ทดสอบว่า Polygon นี้เท่ากับอีกหรือไม่
int
getFillColor()
รับสีเติมของรูปหลายเหลี่ยมนี้
List<List<LatLng>>
getHoles()
แสดงภาพรวมของรูของรูปหลายเหลี่ยมนี้ในขณะนี้
สตริง
getId()
รับรหัสของรูปหลายเหลี่ยมนี้
List<LatLng>
getPoints()
แสดงภาพรวมของจุดยอดของรูปหลายเหลี่ยมนี้ ในขณะนี้
int
getStrokeColor()
รับสีเส้นโครงร่างของรูปหลายเหลี่ยมนี้
int
getStrokeJointType()
แสดงประเภทข้อต่อของเส้นโครงร่างที่ใช้ที่จุดยอดมุมทั้งหมดของโครงร่างรูปหลายเหลี่ยม
List<PatternItem>
getStrokePattern()
รับรูปแบบเส้นโครงร่างของโครงร่างของรูปหลายเหลี่ยมนี้
float
getStrokeWidth()
รับความกว้างของเส้นโครงร่างของรูปหลายเหลี่ยมนี้
ออบเจ็กต์
getTag()
รับแท็กสำหรับรูปหลายเหลี่ยม
float
getZIndex()
รับ zIndex ของรูปหลายเหลี่ยมนี้
int
boolean
isClickable()
รับความสามารถในการคลิกของรูปหลายเหลี่ยม
boolean
isGeodesic()
ระบุว่าแต่ละส่วนของเส้นถูกวาดเป็นภูมิศาสตร์เชิงภูมิศาสตร์หรือไม่
boolean
isVisible()
รับการเปิดเผยของรูปหลายเหลี่ยมนี้
void
remove()
ลบรูปหลายเหลี่ยมออกจากแผนที่
void
setClickable(บูลีนที่คลิกได้)
ตั้งค่าความสามารถในการคลิกของรูปหลายเหลี่ยม
void
setFillColor(สี int)
ตั้งค่าสีเติมของรูปหลายเหลี่ยมนี้
void
setGeodesic(ภูมิศาสตร์บูลีน)
กำหนดว่าจะวาดส่วนของเส้นแต่ละส่วนเป็นแบบภูมิศาสตร์หรือไม่
void
setHoles(รายการ<? ขยายรายการ<LatLng>> หลุม)
ตั้งค่ารูของรูปหลายเหลี่ยมนี้
void
setPoints(แสดงรายการ<LatLng> คะแนน)
กำหนดจุดของรูปหลายเหลี่ยมนี้
void
setStrokeColor(สี)
ตั้งค่าสีเส้นโครงร่างของรูปหลายเหลี่ยมนี้
void
setStrokeJointType(intjoinType)
กำหนดประเภทข้อต่อสำหรับจุดยอดทั้งหมดของโครงร่างรูปหลายเหลี่ยม
void
setStrokePattern(List<PatternItem>)
ตั้งค่ารูปแบบเส้นโครงร่างของโครงร่างรูปหลายเหลี่ยม
void
setStrokeWidth(ความกว้างแบบลอย)
ตั้งค่าความกว้างของเส้นโครงร่างของรูปหลายเหลี่ยมนี้
void
setTag(แท็กออบเจ็กต์)
ตั้งค่าแท็กสำหรับรูปหลายเหลี่ยม
void
setVisible(แสดงบูลีน)
ตั้งค่าการมองเห็นรูปหลายเหลี่ยมนี้
void
setZIndex(Float zIndex)
ตั้งค่า zดัชนี ของรูปหลายเหลี่ยมนี้

ข้อมูลสรุปของเมธอดที่รับช่วงมา

วิธีการสาธารณะ

บูลีนสาธารณะ เท่ากับ (ออบเจ็กต์อื่นๆ)

ทดสอบว่า Polygon นี้เท่ากับอีกหรือไม่

พารามิเตอร์
อื่นๆ Object
คิกรีเทิร์น
  • เป็นจริงถ้าวัตถุทั้งสองเป็นวัตถุเดียวกัน นั่นคือ == other

สาธารณะ int getFillColor ()

รับสีเติมของรูปหลายเหลี่ยมนี้

คิกรีเทิร์น
  • ตามสีในรูปแบบ ARGB

สาธารณะ รายการ<รายการ<LatLng>> getHoles ()

แสดงภาพรวมของรูของรูปหลายเหลี่ยมนี้ในขณะนี้ รายการที่แสดงเป็นสำเนาของรายการหลุม ดังนั้นการเปลี่ยนแปลงของหลุมของรูปหลายเหลี่ยมจะไม่แสดงผ่านรายการนี้ และการเปลี่ยนแปลงที่ทำกับรายการนี้จะไม่แสดงในรูปหลายเหลี่ยม

สาธารณะ สตริง getId ()

รับรหัสของรูปหลายเหลี่ยมนี้ รหัสจะไม่ซ้ำกันในรูปหลายเหลี่ยมทั้งหมดบนแผนที่

สาธารณะ รายการ<LatLng> getPoints ()

แสดงภาพรวมของจุดยอดของรูปหลายเหลี่ยมนี้ ในขณะนี้ รายการที่แสดงผลเป็นสำเนาของรายการจุดยอด ดังนั้นการเปลี่ยนแปลงจุดยอดของรูปหลายเหลี่ยมจะไม่แสดงในรายการนี้ และการเปลี่ยนแปลงที่ทำกับรายการนี้จะไม่แสดงในรูปหลายเหลี่ยม หากต้องการเปลี่ยนจุดยอดของรูปหลายเหลี่ยม ให้เรียกใช้ setPoints(List)

สาธารณะ int getStrokeColor ()

รับสีเส้นโครงร่างของรูปหลายเหลี่ยมนี้

คิกรีเทิร์น
  • ตามสีในรูปแบบ ARGB

สาธารณะ int getStrokeJointType ()

แสดงประเภทข้อต่อของเส้นโครงร่างที่ใช้ที่จุดยอดมุมทั้งหมดของโครงร่างรูปหลายเหลี่ยม ดูค่าที่เป็นไปได้ใน JointType

คิกรีเทิร์น
  • ของข้อต่อเส้นโครงร่าง

สาธารณะ รายการ<PatternItem> getStrokePattern ()

รับรูปแบบเส้นโครงร่างของโครงร่างของรูปหลายเหลี่ยมนี้

คิกรีเทิร์น
  • ของเส้นโครงร่าง

ลอย สาธารณะ getStrokeWidth ()

รับความกว้างของเส้นโครงร่างของรูปหลายเหลี่ยมนี้

คิกรีเทิร์น
  • ความกว้างเป็นพิกเซลหน้าจอ

ออบเจ็กต์สาธารณะ getTag ()

รับแท็กสำหรับรูปหลายเหลี่ยม

คิกรีเทิร์น
  • แท็กหากมีการตั้งค่าด้วย setTag หรือ null หากไม่มีการตั้งค่าแท็ก

ทศนิยมสาธารณะ getZIndex ()

รับ zIndex ของรูปหลายเหลี่ยมนี้

คิกรีเทิร์น
  • zดัชนีของรูปหลายเหลี่ยม

สาธารณะ int hashCode ()

บูลีนสาธารณะ isClickable ()

รับความสามารถในการคลิกของรูปหลายเหลี่ยม หากรูปหลายเหลี่ยมสามารถคลิกได้ แอปจะได้รับการแจ้งเตือนไปยัง GoogleMap.OnPolygonClickListener เมื่อผู้ใช้คลิกที่รูปหลายเหลี่ยม Listener เหตุการณ์ได้รับการลงทะเบียนจนถึงวันที่ setOnPolygonClickListener(GoogleMap.OnPolygonClickListener)

คิกรีเทิร์น
  • true หากรูปหลายเหลี่ยมคลิกได้ มิเช่นนั้นจะแสดง false

บูลีนสาธารณะ isGeodesic ()

ระบุว่าแต่ละส่วนของเส้นถูกวาดเป็นภูมิศาสตร์เชิงภูมิศาสตร์หรือไม่

คิกรีเทิร์น
  • true หากวาดแต่ละส่วนเป็นภูมิศาสตร์ false หากแต่ละส่วนวาดเป็นเส้นตรงบนเส้นโครงเมอร์เคเตอร์

บูลีนสาธารณะ isVisible ()

รับการเปิดเผยของรูปหลายเหลี่ยมนี้

คิกรีเทิร์น
  • การแสดงผลรูปหลายเหลี่ยม

โมฆะสาธารณะ นำออก ()

ลบรูปหลายเหลี่ยมออกจากแผนที่ หลังจากนำรูปหลายเหลี่ยมออกแล้ว จะไม่สามารถระบุลักษณะการทำงานของวิธีการทั้งหมดของรูปหลายเหลี่ยมได้

โมฆะสาธารณะ setClickable (บูลีนที่คลิกได้)

ตั้งค่าความสามารถในการคลิกของรูปหลายเหลี่ยม หากรูปหลายเหลี่ยมสามารถคลิกได้ แอปจะได้รับการแจ้งเตือนไปยัง GoogleMap.OnPolygonClickListener เมื่อผู้ใช้คลิกที่รูปหลายเหลี่ยม Listener เหตุการณ์ได้รับการลงทะเบียนจนถึงวันที่ setOnPolygonClickListener(GoogleMap.OnPolygonClickListener)

พารามิเตอร์
คลิกได้ การตั้งค่าความสามารถในการคลิกใหม่สำหรับรูปหลายเหลี่ยม

โมฆะสาธารณะ setFillColor (สี int)

ตั้งค่าสีเติมของรูปหลายเหลี่ยมนี้

พารามิเตอร์
สี สีในรูปแบบ ARGB

โมฆะสาธารณะ setGeodesic (boolean geodesic)

กำหนดว่าจะวาดส่วนของเส้นแต่ละส่วนเป็นแบบภูมิศาสตร์หรือไม่

พารามิเตอร์
ภูมิศาสตร์ หากเป็น true ระบบจะวาดแต่ละส่วนเป็นภูมิศาสตร์ หากเป็น false แต่ละส่วนจะถูกวาดเป็นเส้นตรงบนเส้นโครงเมอร์เคเตอร์

สาธารณะ void setHoles (List<? extends List<LatLng>> หลุม)

ตั้งค่ารูของรูปหลายเหลี่ยมนี้ วิธีนี้จะทำสำเนาของหลุม ดังนั้น การเปลี่ยนแปลงเพิ่มเติมไปยัง holes จะไม่มีผลกับรูปหลายเหลี่ยมนี้

พารามิเตอร์
หลุม รายการหลุม โดยหลุมคือรายการของ LatLng

สาธารณะ void setPoints (List<LatLng> คะแนน)

กำหนดจุดของรูปหลายเหลี่ยมนี้ วิธีนี้จะทำสำเนาของจุด ดังนั้น การเปลี่ยนแปลงเพิ่มเติมไปยัง points จะไม่มีผลกับรูปหลายเหลี่ยมนี้

พารามิเตอร์
คะแนน รายการ LatLng ที่เป็นจุดยอดของรูปหลายเหลี่ยม

โมฆะสาธารณะ setStrokeColor (สีแต้ม)

ตั้งค่าสีเส้นโครงร่างของรูปหลายเหลี่ยมนี้

พารามิเตอร์
สี สีในรูปแบบ ARGB

สาธารณะ โมฆะ setStrokeJointType (int partnerType)

กำหนดประเภทข้อต่อสำหรับจุดยอดทั้งหมดของโครงร่างรูปหลายเหลี่ยม

โปรดดู JointType สำหรับค่าที่อนุญาต ระบบจะใช้ค่าเริ่มต้น DEFAULT หากไม่ได้กำหนดประเภทร่วมหรือไม่ใช่ค่าที่อนุญาต

พารามิเตอร์
jointType ของข้อต่อเส้นโครงร่าง

สาธารณะ void setStrokePattern (รูปแบบรายการ<PatternItem>)

ตั้งค่ารูปแบบเส้นโครงร่างของโครงร่างรูปหลายเหลี่ยม รูปแบบเส้นโครงร่างเริ่มต้นคือเส้นทึบ ซึ่งแสดงด้วย null

พารามิเตอร์
รูปแบบ ของเส้นโครงร่าง

สาธารณะ void setStrokeWidth (ความกว้างแบบลอย)

ตั้งค่าความกว้างของเส้นโครงร่างของรูปหลายเหลี่ยมนี้

พารามิเตอร์
ความกว้าง ความกว้างเป็นพิกเซลที่แสดง

โมฆะสาธารณะ setTag (แท็กออบเจ็กต์)

ตั้งค่าแท็กสำหรับรูปหลายเหลี่ยม

คุณสามารถใช้พร็อพเพอร์ตี้นี้เพื่อเชื่อมโยง Object ที่กําหนดเองกับรูปหลายเหลี่ยมนี้ได้ ตัวอย่างเช่น Object อาจมีข้อมูลเกี่ยวกับสิ่งที่รูปหลายเหลี่ยมนั้นนำเสนอ วิธีนี้ง่ายกว่าการเก็บ Map<Polygon, Object> แยกต่างหาก อีกตัวอย่างหนึ่งก็คือ คุณสามารถเชื่อมโยงรหัส String ที่ตรงกับรหัสจากชุดข้อมูลได้ Google Maps SDK สำหรับ Android จะไม่อ่านและเขียนพร็อพเพอร์ตี้นี้ คุณมีหน้าที่รับผิดชอบในการเรียกใช้ setTag(null) เพื่อล้างแท็กเมื่อไม่ต้องการใช้งานแล้ว เพื่อป้องกันไม่ให้หน่วยความจำรั่วไหลในแอป

พารามิเตอร์
แท็ก หาก Null แท็กจะถูกล้าง

โมฆะสาธารณะ setVisible (boolean visible)

ตั้งค่าการมองเห็นรูปหลายเหลี่ยมนี้ เมื่อไม่แสดง จะไม่มีการวาดรูปหลายเหลี่ยมแต่จะเก็บพร็อพเพอร์ตี้อื่นๆ ทั้งหมดไว้

พารามิเตอร์
มองเห็นได้ ถ้า true รูปหลายเหลี่ยมจะปรากฏให้เห็น แต่ถ้าเป็น false จะมองไม่เห็น

สาธารณะ โมฆะ setZIndex (Float zIndex)

ตั้งค่า zดัชนี ของรูปหลายเหลี่ยมนี้ รูปหลายเหลี่ยมที่มี zIndice สูงกว่าจะแสดงเหนือผู้ที่มีดัชนีต่ำกว่า

พารามิเตอร์
zIndex zIndex ของรูปหลายเหลี่ยมนี้