รูปหลายเหลี่ยมบนพื้นผิวโลก รูปหลายเหลี่ยมอาจเป็นรูปนูนหรือเว้า โดยอาจยาวไปถึงปี 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 ()
รับแท็กสำหรับรูปหลายเหลี่ยม
การคืนสินค้า
- หากตั้งค่าแท็กด้วย
setTagnullหากไม่มีการตั้งค่าแท็ก
สาธารณะ จำนวนลอยตัว 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 ของรูปหลายเหลี่ยมนี้ |
|---|