รูปหลายเหลี่ยมบนพื้นผิวโลก รูปหลายเหลี่ยมอาจเป็นแบบนูนหรือเว้าก็ได้ รูปหลายเหลี่ยมอาจครอบคลุมเส้นเมริเดียน 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 | |
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(สี int)
ตั้งค่าสีเติมของรูปหลายเหลี่ยมนี้
|
void |
setGeodesic(ภูมิศาสตร์บูลีน)
กำหนดว่าจะวาดส่วนของเส้นแต่ละส่วนเป็นแบบภูมิศาสตร์หรือไม่
|
void | |
void | |
void |
setStrokeColor(สี)
ตั้งค่าสีเส้นโครงร่างของรูปหลายเหลี่ยมนี้
|
void |
setStrokeJointType(intjoinType)
กำหนดประเภทข้อต่อสำหรับจุดยอดทั้งหมดของโครงร่างรูปหลายเหลี่ยม
|
void | |
void |
setStrokeWidth(ความกว้างแบบลอย)
ตั้งค่าความกว้างของเส้นโครงร่างของรูปหลายเหลี่ยมนี้
|
void |
setTag(แท็กออบเจ็กต์)
ตั้งค่าแท็กสำหรับรูปหลายเหลี่ยม
|
void |
setVisible(แสดงบูลีน)
ตั้งค่าการมองเห็นรูปหลายเหลี่ยมนี้
|
void |
setZIndex(Float zIndex)
ตั้งค่า zดัชนี ของรูปหลายเหลี่ยมนี้
|
ข้อมูลสรุปของเมธอดที่รับช่วงมา
วิธีการสาธารณะ
บูลีนสาธารณะ เท่ากับ (ออบเจ็กต์อื่นๆ)
สาธารณะ 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)
สาธารณะ 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 ของรูปหลายเหลี่ยมนี้ |
---|