รูปหลายเหลี่ยมบนพื้นผิวโลก รูปหลายเหลี่ยมอาจเป็นรูปนูนหรือเว้า โดยอาจยาวไปถึงปี 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 ลำดับของการวางซ้อนที่มีค่าดัชนี z เดียวกันนั้นไม่มีกฎเกณฑ์ ค่าเริ่มต้นคือ 0. - ระดับการแชร์
- ระบุว่ารูปหลายเหลี่ยมปรากฏอยู่หรือมองไม่เห็น กล่าวคือเป็นรูปวาดบนแผนที่หรือไม่ CANNOT TRANSLATE
ไม่มีการวาดรูปหลายเหลี่ยมที่มองไม่เห็น แต่ยังคงคุณสมบัติอื่นๆ ทั้งหมดของรูปหลายเหลี่ยมดังกล่าว ค่าเริ่มต้นคือ
true
ซึ่งก็คือมองเห็นได้ - สถานะเรขาคณิต
- ระบุว่าส่วนของรูปหลายเหลี่ยมควรวาดเป็นรูปเรขาคณิต ไม่ใช่ ที่เป็นเส้นตรงบนเส้นโครงเมอร์เคเตอร์ เส้นธรณีภาคเป็นเส้นทางที่สั้นที่สุดระหว่าง 2 ส่วน บนพื้นผิวโลก เส้นโค้งทรงกลมสร้างขึ้นโดยสมมติว่าโลกเป็น ทรงกลม
- ความสามารถในการคลิกได้
- หากคุณต้องการจัดการเหตุการณ์ที่เริ่มทำงานเมื่อผู้ใช้คลิกรูปหลายเหลี่ยม ให้ตั้งค่าพร็อพเพอร์ตี้นี้เป็น
true
คุณสามารถเปลี่ยนแปลงค่านี้ได้ตลอดเวลา โดยมีค่าเริ่มต้นเป็นfalse
หากสิ่งนี้ พร็อพเพอร์ตี้ได้รับการตั้งค่าเป็นtrue
แอปของคุณจะได้รับการแจ้งเตือนไปยังGoogleMap.OnPolygonClickListener
ที่ลงทะเบียนผ่านsetOnPolygonClickListener(GoogleMap.OnPolygonClickListener)
- แท็ก
Object
ที่เชื่อมโยงกับรูปหลายเหลี่ยม ตัวอย่างเช่นObject
อาจมี ข้อมูลเกี่ยวกับสิ่งที่รูปหลายเหลี่ยมแสดง วิธีนี้ง่ายกว่าการจัดเก็บMap<Polygon, Object>
แยกต่างหาก อีกตัวอย่างหนึ่งคือคุณสามารถเชื่อมโยงรหัสString
ที่สอดคล้องกับรหัสจากชุดข้อมูล Google Maps SDK สำหรับ Android ไม่ได้อ่านหรือ เขียนพร็อพเพอร์ตี้นี้
ต้องเรียกใช้เมธอดในคลาสนี้บนเทรด Android UI หากไม่เป็นเช่นนั้น 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));
คู่มือนักพัฒนา
โปรดอ่านข้อมูลเพิ่มเติมจากนักพัฒนาซอฟต์แวร์ Shapes
ข้อมูลสรุปของเมธอดสาธารณะ
boolean | |
int |
getFillColor()
รับสีเติมของรูปหลายเหลี่ยมนี้
|
รายการ<List<LatLng>> |
getHoles()
แสดงผลภาพรวมของรูของรูปหลายเหลี่ยมนี้ ณ เวลานี้
|
สตริง |
getId()
รับรหัสของรูปหลายเหลี่ยมนี้
|
รายการ<LatLng> |
getPoints()
ส่งคืนสแนปชอตของจุดยอดของรูปหลายเหลี่ยมนี้ ณ เวลา
|
int |
getStrokeColor()
รับสีเส้นโครงร่างของรูปหลายเหลี่ยมนี้
|
int |
getStrokeJointType()
รับประเภทรอยต่อของเส้นโครงร่างที่ใช้ที่จุดยอดทั้งหมดของโครงร่างรูปหลายเหลี่ยม
|
รายการ<PatternItem> |
getStrokePattern()
รับรูปแบบเส้นโครงร่างของโครงร่างของรูปหลายเหลี่ยมนี้
|
จำนวนลอยตัว |
getStrokeWidth()
รับความกว้างเส้นโครงร่างของรูปหลายเหลี่ยมนี้
|
ออบเจ็กต์ |
getTag()
รับแท็กสำหรับรูปหลายเหลี่ยม
|
จำนวนลอยตัว |
getZIndex()
รับค่า zIndex ของรูปหลายเหลี่ยมนี้
|
int |
hashCode()
|
boolean |
isClickable()
รับความสามารถในการคลิกได้ของรูปหลายเหลี่ยม
|
boolean |
isGeodesic()
รับข้อมูลว่าแต่ละส่วนของเส้นวาดเป็นทรงกลมหรือไม่
|
boolean |
isVisible()
รับการเปิดเผยของรูปหลายเหลี่ยมนี้
|
เป็นโมฆะ |
remove()
ลบรูปหลายเหลี่ยมออกจากแผนที่
|
เป็นโมฆะ |
setClickable(คลิกบูลีนได้)
ตั้งค่าความสามารถในการคลิกได้ของรูปหลายเหลี่ยม
|
เป็นโมฆะ |
setFillColor(สีเติม)
ตั้งค่าสีเติมของรูปหลายเหลี่ยมนี้
|
เป็นโมฆะ |
setGeodesic(boolean geodesic)
กำหนดว่าจะวาดแต่ละส่วนของเส้นเป็นทรงเรขาคณิตหรือไม่
|
เป็นโมฆะ | |
เป็นโมฆะ | |
เป็นโมฆะ |
setStrokeColor(สีเติม)
ตั้งค่าสีเส้นโครงร่างของรูปหลายเหลี่ยมนี้
|
เป็นโมฆะ |
setStrokeJointType(intjoinType)
ตั้งค่าประเภทการเชื่อมจุดยอดทั้งหมดของโครงร่างรูปหลายเหลี่ยม
|
เป็นโมฆะ | |
เป็นโมฆะ |
setStrokeWidth(ความกว้างแบบลอย)
ตั้งค่าความกว้างเส้นโครงร่างของรูปหลายเหลี่ยมนี้
|
เป็นโมฆะ |
setTag(แท็กออบเจ็กต์)
ตั้งค่าแท็กสำหรับรูปหลายเหลี่ยม
|
เป็นโมฆะ |
setVisible(boolean visible)
ตั้งค่าการเปิดเผยของรูปหลายเหลี่ยมนี้
|
เป็นโมฆะ |
setZIndex(จำนวนลอยตัว zIndex)
ตั้งค่า zIndex ของรูปหลายเหลี่ยมนี้
|
สรุปวิธีการที่รับมา
วิธีการสาธารณะ
สาธารณะ บูลีน เท่ากับ (ออบเจ็กต์อื่นๆ)
สาธารณะ Int getFillColor ()
รับสีเติมของรูปหลายเหลี่ยมนี้
การคืนสินค้า
- สีในรูปแบบ ARGB
สาธารณะ รายการ<รายการ<LatLng>> getHoles ()
แสดงผลภาพรวมของรูของรูปหลายเหลี่ยมนี้ ณ เวลานี้ รายการที่แสดงผลเป็นสำเนาของ รายการหลุมและการเปลี่ยนแปลงหลุมของรูปหลายเหลี่ยมจะไม่แสดงโดยรายการนี้ หรือ การเปลี่ยนแปลงของรายการนี้จะแสดงให้เห็นด้วยรูปเหลี่ยม
สาธารณะ สตริง getId ()
รับรหัสของรูปหลายเหลี่ยมนี้ รหัสจะไม่ซ้ำกันกับรูปหลายเหลี่ยมทั้งหมดบนแผนที่
สาธารณะ รายการ<LatLng> getPoints ()
ส่งคืนสแนปชอตของจุดยอดของรูปหลายเหลี่ยมนี้ ณ เวลา รายการที่แสดงผลเป็นสำเนา
ของรายการจุดยอดมุม ดังนั้น การเปลี่ยนแปลงที่จุดยอดของรูปหลายเหลี่ยมจะไม่แสดงให้เห็น
รายการ และการเปลี่ยนแปลงที่ทำกับรายการนี้จะไม่แสดงด้วยรูปหลายเหลี่ยม วิธีเปลี่ยนจุดยอดของ
รูปหลายเหลี่ยม โทร setPoints(List)
สาธารณะ Int getStrokeColor ()
รับสีเส้นโครงร่างของรูปหลายเหลี่ยมนี้
การคืนสินค้า
- สีในรูปแบบ ARGB
สาธารณะ Int getStrokeJointType ()
รับประเภทรอยต่อของเส้นโครงร่างที่ใช้ที่จุดยอดทั้งหมดของโครงร่างรูปหลายเหลี่ยม โปรดดู JointType
สำหรับค่าที่เป็นไปได้
การคืนสินค้า
- ประเภทของข้อต่อโรคหลอดเลือดสมอง
สาธารณะ รายการ <PatternItem> getStrokePattern ()
รับรูปแบบเส้นโครงร่างของโครงร่างของรูปหลายเหลี่ยมนี้
การคืนสินค้า
- รูปแบบของเส้นโครงร่าง
สาธารณะ จำนวนลอยตัว getStrokeWidth ()
รับความกว้างเส้นโครงร่างของรูปหลายเหลี่ยมนี้
การคืนสินค้า
- ความกว้างเป็นพิกเซลของหน้าจอ
สาธารณะ วัตถุ getTag ()
รับแท็กสำหรับรูปหลายเหลี่ยม
การคืนสินค้า
- หากตั้งค่าแท็กด้วย
setTag
null
หากไม่มีการตั้งค่าแท็ก
สาธารณะ จำนวนลอยตัว getZIndex ()
รับค่า zIndex ของรูปหลายเหลี่ยมนี้
การคืนสินค้า
- zIndex ของรูปหลายเหลี่ยม
สาธารณะ Int hashCode ()
สาธารณะ บูลีน isClickable ()
รับความสามารถในการคลิกได้ของรูปหลายเหลี่ยม หากรูปหลายเหลี่ยมสามารถคลิกได้ แอปของคุณจะได้รับ
ไปยัง GoogleMap.OnPolygonClickListener
เมื่อผู้ใช้คลิกรูปหลายเหลี่ยม
Listener เหตุการณ์ได้รับการลงทะเบียนผ่าน setOnPolygonClickListener(GoogleMap.OnPolygonClickListener)
การคืนสินค้า
true
หากรูปหลายเหลี่ยมสามารถคลิกได้ ไม่เช่นนั้น ระบบจะแสดงผลfalse
สาธารณะ บูลีน isGeodesic ()
รับข้อมูลว่าแต่ละส่วนของเส้นวาดเป็นทรงกลมหรือไม่
การคืนสินค้า
true
หากวาดแต่ละส่วนเป็นรูปเรขาคณิตfalse
หากแต่ละกลุ่มคือ เป็นเส้นตรงบนเส้นโครงเมอร์เคเตอร์
สาธารณะ บูลีน isVisible ()
รับการเปิดเผยของรูปหลายเหลี่ยมนี้
การคืนสินค้า
- การมองเห็นรูปหลายเหลี่ยมนี้
สาธารณะ เป็นโมฆะ นำออก ()
ลบรูปหลายเหลี่ยมออกจากแผนที่ หลังจากที่ลบรูปหลายเหลี่ยมแล้ว ลักษณะการทำงานของรูปหลายเหลี่ยมทั้งหมด ไม่ได้ระบุเมธอด
สาธารณะ เป็นโมฆะ setClickable (คลิกบูลีนได้)
ตั้งค่าความสามารถในการคลิกได้ของรูปหลายเหลี่ยม หากรูปหลายเหลี่ยมสามารถคลิกได้ แอปของคุณจะได้รับ
ไปยัง GoogleMap.OnPolygonClickListener
เมื่อผู้ใช้คลิกรูปหลายเหลี่ยม
Listener เหตุการณ์ได้รับการลงทะเบียนผ่าน setOnPolygonClickListener(GoogleMap.OnPolygonClickListener)
พารามิเตอร์
คลิกได้ | การตั้งค่าความสามารถในการคลิกใหม่สำหรับรูปหลายเหลี่ยม |
---|
สาธารณะ เป็นโมฆะ setFillColor (สีเติม)
ตั้งค่าสีเติมของรูปหลายเหลี่ยมนี้
พารามิเตอร์
สี | สีในรูปแบบ ARGB |
---|
สาธารณะ เป็นโมฆะ setGeodesic (บูลีนภูมิศาสตร์)
กำหนดว่าจะวาดแต่ละส่วนของเส้นเป็นทรงเรขาคณิตหรือไม่
พารามิเตอร์
เรขาคณิต | หาก true แต่ละส่วนจะถูกวาดเป็นทรงกลม หาก false
แต่ละส่วนจะถูกวาดเป็นเส้นตรงบนเส้นโครงเมอร์เคเตอร์
|
---|
สาธารณะ เป็นโมฆะ setHoles (รายการ<? ขยายรายการ<LatLng>>)
ตั้งรูของรูปหลายเหลี่ยมนี้ วิธีนี้จะเก็บสำเนาของหลุมไว้ ดังนั้นการกลายพันธุ์เพิ่มเติม
ถึง holes
จะไม่มีผลกับรูปหลายเหลี่ยมนี้
พารามิเตอร์
หลุม | รายการหลุม โดยหลุมคือรายการ LatLng วินาที
|
---|
สาธารณะ เป็นโมฆะ setPoints (แสดงคะแนน <LatLng>)
กำหนดจุดของรูปหลายเหลี่ยมนี้ วิธีนี้จะเก็บสำเนาของคะแนน และอื่นๆ
การกลายพันธุ์เป็น points
จะไม่มีผลกับรูปหลายเหลี่ยมนี้
พารามิเตอร์
คะแนน | รายการ LatLng ที่เป็นจุดยอดของรูปหลายเหลี่ยม
|
---|
สาธารณะ เป็นโมฆะ setStrokeColor (สีเติม)
ตั้งค่าสีเส้นโครงร่างของรูปหลายเหลี่ยมนี้
พารามิเตอร์
สี | สีในรูปแบบ ARGB |
---|
สาธารณะ เป็นโมฆะ setStrokeJointType (int JoinType)
สาธารณะ เป็นโมฆะ setStrokePattern (ลาย <PatternItem>)
ตั้งค่ารูปแบบเส้นโครงร่างของโครงร่างของรูปหลายเหลี่ยม รูปแบบเส้นโครงร่างเริ่มต้นคือเส้นทึบ
แสดงโดย null
พารามิเตอร์
รูปแบบ | รูปแบบของเส้นโครงร่าง |
---|
สาธารณะ เป็นโมฆะ setStrokeWidth (ความกว้างแบบลอย)
ตั้งค่าความกว้างเส้นโครงร่างของรูปหลายเหลี่ยมนี้
พารามิเตอร์
ความกว้าง | ความกว้างเป็นพิกเซลที่แสดง |
---|
สาธารณะ เป็นโมฆะ setTag (แท็กออบเจ็กต์)
ตั้งค่าแท็กสำหรับรูปหลายเหลี่ยม
คุณสามารถใช้พร็อพเพอร์ตี้นี้เพื่อเชื่อมโยง Object
ที่กำหนดเองกับรูปหลายเหลี่ยมนี้ได้ สำหรับ
ตัวอย่างเช่น Object
อาจมีข้อมูลเกี่ยวกับสิ่งที่รูปหลายเหลี่ยมแสดง ง่ายกว่า
มากกว่าการจัดเก็บ Map<Polygon, Object>
แยกต่างหาก อีกตัวอย่างหนึ่งคือ คุณสามารถเชื่อมโยง
รหัส String
ที่ตรงกับรหัสจากชุดข้อมูล Google Maps SDK สำหรับ Android ก็ไม่ได้เช่นกัน
จะอ่านและเขียนคุณสมบัตินี้ คุณมีหน้าที่โทรหา setTag(null)
เพื่อเคลียร์
แท็กเมื่อคุณไม่ต้องการใช้อีกต่อไป เพื่อป้องกันไม่ให้หน่วยความจำรั่วไหลในแอป
พารามิเตอร์
แท็ก | หากเป็นค่าว่าง ระบบจะล้างแท็ก |
---|
สาธารณะ เป็นโมฆะ setVisible (แสดงบูลีน)
ตั้งค่าการเปิดเผยของรูปหลายเหลี่ยมนี้ เมื่อมองไม่เห็น จะไม่มีการวาดรูปหลายเหลี่ยมแต่จะเก็บทั้งหมดไว้ พร็อพเพอร์ตี้อื่นๆ ด้วย
พารามิเตอร์
มองเห็นได้ | หาก true รูปหลายเหลี่ยมจะปรากฏ หาก false ไม่ใช่
|
---|
สาธารณะ เป็นโมฆะ setZIndex (ดัชนี z แบบลอย)
ตั้งค่า zIndex ของรูปหลายเหลี่ยมนี้ รูปหลายเหลี่ยมที่มี zIndices สูงกว่าจะถูกวาดเหนือดัชนีที่มี zIndices ต่ำกว่า ดัชนี
พารามิเตอร์
zIndex | zIndex ของรูปหลายเหลี่ยมนี้ |
---|