ภาพซ้อนพื้นที่เป็นภาพที่ยึดกับแผนที่ การวางซ้อนพื้นมีสมบัติดังต่อไปนี้
- อันดับ
- ระบุตำแหน่งของการวางซ้อนพื้นได้ 2 วิธี ดังนี้
- การใช้ตำแหน่ง: คุณต้องใส่ภาพของการวางซ้อนพื้น
LatLng
ที่จุดยึดจะคงที่และความกว้างของภาพซ้อนทับ (หน่วยเป็นเมตร) โดยค่าเริ่มต้น การเชื่อมโยงจะอยู่ที่ 50% จากด้านบนของรูปภาพ และ 50% จากด้านซ้ายของรูปภาพ ซึ่งเปลี่ยนแปลงได้ คุณสามารถระบุความสูงของการวางซ้อน (เป็นเมตร) หรือไม่ก็ได้ หากคุณไม่ระบุความสูงของภาพซ้อนทับ ระบบจะคำนวณ โดยอัตโนมัติเพื่อรักษาสัดส่วนของรูปภาพ - การใช้ขอบเขต: คุณต้องระบุ
LatLngBounds
ซึ่งจะมีรูปภาพ
IllegalArgumentException
เมื่อมีการเพิ่มภาพซ้อนพื้นดิน ลงในแผนที่ นอกจากนี้ คุณต้องระบุตำแหน่งโดยใช้เมธอดอย่างใดอย่างหนึ่งต่อไปนี้ในออบเจ็กต์GroundOverlayOptions
เท่านั้น มิเช่นนั้น อาจมีการส่งIllegalStateException
เมื่อระบุโดยใช้วิธีที่ 2 - การใช้ตำแหน่ง: คุณต้องใส่ภาพของการวางซ้อนพื้น
- รูปภาพ
- รูปภาพ (ในฐานะ
BitmapDescriptor
) ที่ใช้สำหรับการวางซ้อนนี้ ระบบจะปรับขนาดรูปภาพให้พอดีกับตำแหน่งที่ให้ไว้ คุณต้องระบุภาพก่อนที่จะเพิ่มภาพพื้นดิน ลงบนแผนที่ ถ้าไม่ใส่IllegalArgumentException
จะถูกโยนเมื่อเพิ่ม ลงในแผนที่ - ตลับลูกปืน
- จำนวนที่ควรหมุนรูปภาพไปในทิศทางตามเข็มนาฬิกา ศูนย์กลางของการหมุนจะเป็นจุดยึดของรูปภาพ ค่านี้เป็นตัวเลือกที่ไม่บังคับและตลับลูกปืนเริ่มต้นคือ 0 กล่าวคือ จัดวางภาพให้อยู่ทางทิศเหนือ
- zIndex
- ลำดับการวาดพื้นดินนี้โดยสัมพันธ์กับการวางซ้อนอื่นๆ (รวมถึง
Polyline
และTileOverlay
แต่ไม่รวมMarker
) การวางซ้อนที่มี zIndex ใหญ่กว่าจะถูกวาดเหนือการวางซ้อนที่มี zIndex ขนาดเล็ก ลำดับของโฆษณาซ้อนทับที่มีค่า zIndex เดียวกันจะเป็นแบบอิสระ คุณจะระบุหรือไม่ก็ได้และ zIndex เริ่มต้นคือ 0 - ความโปร่งใส
- ความโปร่งใสของการวางซ้อนพื้นในช่วง
[0..1]
โดยที่0
หมายความว่าภาพซ้อนทับเป็นแบบทึบ และ1
หมายถึงการวางซ้อนโปร่งใส หากบิตแมปที่ระบุโปร่งใสบางส่วนอยู่แล้ว ความโปร่งใสของแต่ละพิกเซลจะมีการปรับขนาดให้สอดคล้องกัน (เช่น หากพิกเซลในบิตแมปมีค่าอัลฟ่าเป็น 200 และคุณระบุความโปร่งใสของการวางซ้อนพื้นเป็น 0.25 พิกเซลจะแสดงผลบนหน้าจอด้วยค่าอัลฟ่าที่ 150) ข้อมูลจำเพาะของพร็อพเพอร์ตี้นี้เป็นแบบไม่บังคับและความโปร่งใสเริ่มต้นคือ 0 (ทึบ) - ระดับการแชร์
- ระบุว่าการวางซ้อนพื้นดินนั้นมองเห็นได้หรือไม่ เช่น การวาดบนแผนที่ จะไม่มีการวาดภาพซ้อนทับพื้นดินที่มองไม่เห็น แต่องค์ประกอบอื่นๆ ทั้งหมดของพื้นที่ยังคงอยู่
โดยจะไม่บังคับและระดับการเข้าถึงเริ่มต้นคือ
true
นั่นคือแสดง - ความสามารถในการคลิกได้
- หากต้องการจัดการเหตุการณ์ที่เริ่มทำงานเมื่อผู้ใช้คลิกการวางซ้อนระดับพื้นดิน ให้ตั้งค่าพร็อพเพอร์ตี้นี้เป็น
true
คุณสามารถเปลี่ยนแปลงค่านี้ได้ตลอดเวลา ค่าเริ่มต้นคือfalse
หากตั้งค่าพร็อพเพอร์ตี้นี้เป็นtrue
แอปของคุณจะได้รับการแจ้งเตือนไปยังGoogleMap.OnGroundOverlayClickListener
ที่ลงทะเบียนจนถึงวันที่setOnGroundOverlayClickListener(GoogleMap.OnGroundOverlayClickListener)
- ติดแท็ก
Object
ที่เกี่ยวข้องกับการวางซ้อนพื้น ตัวอย่างเช่นObject
อาจมีข้อมูลเกี่ยวกับสิ่งที่การวางซ้อนพื้นดิน วิธีนี้ง่ายกว่าการเก็บMap<GroundOverlay, Object>
แยกต่างหาก อีกตัวอย่างหนึ่งก็คือ คุณสามารถเชื่อมโยงรหัสString
ที่ตรงกับรหัสจากชุดข้อมูลได้ Google Maps SDK สำหรับ Android จะไม่อ่านและเขียนพร็อพเพอร์ตี้นี้
ต้องเรียกใช้เมธอดในคลาสนี้บนเธรด UI ของ Android หากไม่เป็นเช่นนั้น จะมีการส่ง IllegalStateException
ขณะรันไทม์
ตัวอย่าง
GoogleMap map = ...; // get a map.
BitmapDescriptor imageDescriptor = ...; // get an image.
LatLngBounds bounds = ...; // get a bounds
// Adds a ground overlay with 50% transparency.
GroundOverlay groundOverlay = map.addGroundOverlay(new GroundOverlayOptions()
.image(imageDescriptor)
.positionFromBounds(bounds)
.transparency(0.5));
สรุปวิธีการสาธารณะ
boolean |
เท่ากับ(ออบเจ็กต์อื่นๆ)
ทดสอบว่า
GroundOverlay นี้เท่ากับอีกหรือไม่ |
float |
getBearing()
รับทิศทางของการวางซ้อนพื้นเป็นองศาตามเข็มนาฬิกาจากทิศเหนือ
|
LatLngBounds |
getBounds()
รับขอบเขตสำหรับการวางซ้อนพื้น
|
float |
getHeight()
รับความสูงของการวางซ้อนพื้น
|
สตริง |
getId()
รับรหัสของการวางซ้อนพื้นนี้
|
LatLng |
getPosition()
รับตำแหน่งของจุดยึด
|
ออบเจ็กต์ |
getTag()
รับแท็กสำหรับแวดวงนี้
|
float |
getTransparency()
รับความโปร่งใสของการวางซ้อนพื้นนี้
|
float |
getWidth()
รับความกว้างของการวางซ้อนพื้น
|
float |
getZIndex()
รับดัชนี z ของการวางซ้อนพื้นนี้
|
int |
hashCode()
|
boolean |
isClickable()
รับความสามารถในการคลิกได้ของการวางซ้อนพื้น
|
boolean |
isVisible()
รับการมองเห็นการวางซ้อนพื้นนี้
|
void |
remove()
ลบการวางซ้อนพื้นนี้ออกจากแผนที่
|
void |
setBearing(ตลับลูกปืน)
ตั้งค่าทิศทางของพื้นดิน (ทิศทางที่แกนแนวตั้งของจุดซ้อนทับ) เป็นองศาตามเข็มนาฬิกาจากทิศเหนือ
|
void |
setClickable(บูลีนที่คลิกได้)
ตั้งค่าความสามารถในการคลิกได้ของการวางซ้อนพื้น
|
void |
setDimensions(ความกว้างแบบลอย, ความสูงแบบลอย)
กำหนดขนาดของการวางซ้อนพื้น
|
void |
setDimensions(ความกว้างแบบลอย)
ตั้งค่าความกว้างของการวางซ้อนพื้น
|
void | |
void | |
void |
setPositionFromBounds(ขอบเขต LatLngBounds)
กำหนดตำแหน่งของการวางซ้อนพื้นโดยปรับให้เหมาะกับ
LatLngBounds ที่กำหนด |
void |
setTag(แท็กออบเจ็กต์)
ตั้งค่าแท็กสำหรับการวางซ้อนพื้น
|
void |
setTransparency(ความโปร่งใสแบบลอย)
ตั้งค่าความโปร่งใสของการวางซ้อนพื้นนี้
|
void |
setVisible(แสดงบูลีน)
ตั้งค่าการมองเห็นการวางซ้อนพื้นนี้
|
void |
setZIndex(Float zIndex)
ตั้งดัชนี z ของการวางซ้อนพื้นนี้
|
ข้อมูลสรุปของเมธอดที่รับช่วงมา
วิธีการสาธารณะ
บูลีนสาธารณะ เท่ากับ (ออบเจ็กต์อื่นๆ)
ทดสอบว่า GroundOverlay
นี้เท่ากับอีกหรือไม่
พารามิเตอร์
อื่นๆ | Object |
---|
คิกรีเทิร์น
- เป็นจริงถ้าวัตถุทั้งสองเป็นวัตถุเดียวกัน นั่นคือ == other
แบบลอยสาธารณะ getBearing ()
รับทิศทางของการวางซ้อนพื้นเป็นองศาตามเข็มนาฬิกาจากทิศเหนือ
คิกรีเทิร์น
- ทิศทางการซ้อนทับของพื้น
สาธารณะ LatLngBounds getBounds ()
รับขอบเขตสำหรับการวางซ้อนพื้น ซึ่งจะเพิกเฉยต่อการหมุนของการวางซ้อนพื้น
คิกรีเทิร์น
LatLngBounds
ที่มีการวางซ้อนพื้น โดยไม่คำนึงถึงการหมุน
แบบลอยสาธารณะ getHeight ()
รับความสูงของการวางซ้อนพื้น
คิกรีเทิร์น
- ความสูงของการวางซ้อนพื้น หน่วยเป็นเมตร
สาธารณะ สตริง getId ()
รับรหัสของการวางซ้อนพื้นนี้ รหัสจะไม่ซ้ำกันใน GroundOverlays ทั้งหมดบนแผนที่
คิกรีเทิร์น
- รหัสของการวางซ้อนพื้นนี้
ออบเจ็กต์สาธารณะ getTag ()
รับแท็กสำหรับแวดวงนี้
คิกรีเทิร์น
- แท็กหากมีการตั้งค่าด้วย
setTag
หรือnull
หากไม่มีการตั้งค่าแท็ก
แบบลอยสาธารณะ getTransparency ()
รับความโปร่งใสของการวางซ้อนพื้นนี้
คิกรีเทิร์น
- ความโปร่งใสของการวางซ้อนพื้นนี้
แบบลอยสาธารณะ getWidth ()
รับความกว้างของการวางซ้อนพื้น
คิกรีเทิร์น
- ความกว้างของการวางซ้อนพื้น หน่วยเป็นเมตร
ทศนิยมสาธารณะ getZIndex ()
รับดัชนี z ของการวางซ้อนพื้นนี้
คิกรีเทิร์น
- zดัชนี ของการวางซ้อนพื้น
สาธารณะ int hashCode ()
บูลีนสาธารณะ isClickable ()
รับความสามารถในการคลิกได้ของการวางซ้อนพื้น หากการวางซ้อนพื้นดินคลิกได้ แอปจะได้รับการแจ้งเตือนไปยัง GoogleMap.OnGroundOverlayClickListener
เมื่อผู้ใช้คลิกการวางซ้อนระดับพื้นดิน Listener เหตุการณ์ได้รับการลงทะเบียนจนถึงวันที่ setOnGroundOverlayClickListener(GoogleMap.OnGroundOverlayClickListener)
คิกรีเทิร์น
true
หากการวางซ้อนพื้นคลิกได้ หากไม่มีการแสดงผล ให้แสดงfalse
บูลีนสาธารณะ isVisible ()
รับการมองเห็นการวางซ้อนพื้นนี้ โปรดทราบว่าการดำเนินการนี้ไม่ได้แสดงผลว่าการวางซ้อนพื้นอยู่บนหน้าจอจริงหรือไม่ แต่จะวาดด้วยการวาดขึ้นหากอยู่ในวิวพอร์ตของกล้องหรือไม่
คิกรีเทิร์น
- การมองเห็นการวางซ้อนพื้นนี้
โมฆะสาธารณะ นำออก ()
ลบการวางซ้อนพื้นนี้ออกจากแผนที่ หลังจากนำการวางซ้อนพื้นออกแล้ว จะไม่มีการกำหนดลักษณะการทำงานของวิธีการทั้งหมด
โมฆะสาธารณะ setBearing (ตลับลูกปืน)
ตั้งค่าทิศทางของพื้นดิน (ทิศทางที่แกนแนวตั้งของจุดซ้อนทับ) เป็นองศาตามเข็มนาฬิกาจากทิศเหนือ การหมุนจะทำเกี่ยวกับจุดยึด
พารามิเตอร์
การแบก | แบกไปทางองศาตามเข็มนาฬิกาจากทิศเหนือ |
---|
โมฆะสาธารณะ setClickable (บูลีนที่คลิกได้)
ตั้งค่าความสามารถในการคลิกได้ของการวางซ้อนพื้น หากการวางซ้อนพื้นดินคลิกได้ แอปจะได้รับการแจ้งเตือนไปยัง GoogleMap.OnGroundOverlayClickListener
เมื่อผู้ใช้คลิกการวางซ้อนระดับพื้นดิน Listener เหตุการณ์ได้รับการลงทะเบียนจนถึงวันที่ setOnGroundOverlayClickListener(GoogleMap.OnGroundOverlayClickListener)
พารามิเตอร์
คลิกได้ | การตั้งค่าความสามารถในการคลิกใหม่สำหรับการวางซ้อนพื้น |
---|
สาธารณะ void setDimensions (ความกว้างแบบลอย, ความสูงแบบลอย)
กำหนดขนาดของการวางซ้อนพื้น รูปภาพจะขยายออกเพื่อให้พอดีกับขนาด
พารามิเตอร์
ความกว้าง | ความกว้างเป็นเมตร |
---|---|
ส่วนสูง | ความสูงเป็นเมตร |
Public void setDimensions (ความกว้างแบบลอย)
ตั้งค่าความกว้างของการวางซ้อนพื้น ความสูงของการวางซ้อนภาคพื้นดินจะถูกปรับเปลี่ยน เพื่อรักษาอัตราส่วนไว้
พารามิเตอร์
ความกว้าง | ความกว้างเป็นเมตร |
---|
สาธารณะ โมฆะ setImage (BitmapDescriptor imageDescriptor)
ตั้งค่าภาพสำหรับการวางซ้อนภาคพื้นดิน รูปภาพใหม่จะใช้ขอบเขตเดียวกับรูปภาพเก่า
พารามิเตอร์
imageDescriptor | BitmapDescriptor ที่จะใช้สำหรับการวางซ้อนพื้นนี้
|
---|
สาธารณะ โมฆะ setPosition (LatLng latLng)
กำหนดตำแหน่งของการวางซ้อนพื้นโดยการเปลี่ยนตำแหน่งของจุดยึด เก็บพร็อพเพอร์ตี้อื่นๆ ทั้งหมดของรูปภาพไว้
พารามิเตอร์
latLng | LatLng ซึ่งเป็นตำแหน่งใหม่สำหรับวางจุดยึด
|
---|
สาธารณะ void setPositionFromBounds (LatLngBounds)
กำหนดตำแหน่งของการวางซ้อนพื้นโดยปรับให้เหมาะกับ LatLngBounds
ที่กำหนด วิธีนี้จะไม่สนใจการหมุน (การรับ) ของการวางซ้อนพื้นเมื่อจัดตำแหน่ง แต่จะใช้แบริ่งเมื่อวาดต่อไป
พารามิเตอร์
ขอบเขต | LatLngBounds สำหรับวางการวางซ้อนพื้น
|
---|
โมฆะสาธารณะ setTag (แท็กออบเจ็กต์)
ตั้งค่าแท็กสำหรับการวางซ้อนพื้น
คุณสามารถใช้พร็อพเพอร์ตี้นี้เพื่อเชื่อมโยง Object
ที่กำหนดเองกับการวางซ้อนพื้นนี้
ตัวอย่างเช่น Object
อาจมีข้อมูลเกี่ยวกับสิ่งที่การวางซ้อนพื้นดิน วิธีนี้ง่ายกว่าการเก็บ Map<GroundOverlay, Object>
แยกต่างหาก อีกตัวอย่างหนึ่งก็คือ คุณสามารถเชื่อมโยงรหัส String
ที่ตรงกับรหัสจากชุดข้อมูลได้ Google Maps SDK สำหรับ Android จะไม่อ่านและเขียนพร็อพเพอร์ตี้นี้ คุณมีหน้าที่รับผิดชอบในการเรียกใช้ setTag(null)
เพื่อล้างแท็กเมื่อไม่ต้องการใช้งานแล้ว เพื่อป้องกันไม่ให้หน่วยความจำรั่วไหลในแอป
พารามิเตอร์
แท็ก | หาก Null แท็กจะถูกล้าง |
---|
Public void setTransparency (ความโปร่งใสแบบลอย)
ตั้งค่าความโปร่งใสของการวางซ้อนพื้นนี้ ดูข้อมูลเพิ่มเติมได้จากเอกสารประกอบที่ด้านบนของชั้นเรียนนี้
พารามิเตอร์
ความโปร่งใส | การลอยในช่วง [0..1] โดยที่ 0 หมายความว่าการวางซ้อนพื้นทึบและ 1 หมายถึงการวางซ้อนพื้นโปร่งใส
|
---|
โมฆะสาธารณะ setVisible (boolean visible)
ตั้งค่าการมองเห็นการวางซ้อนพื้นนี้ เมื่อมองไม่เห็น จะไม่มีการวาดภาพซ้อนทับพื้น แต่จะยังเก็บคุณสมบัติอื่นๆ ทั้งหมดไว้
พารามิเตอร์
มองเห็นได้ | ถ้า true จะมองไม่เห็นการวางซ้อนพื้น แต่ถ้า false จะไม่ได้แสดง
|
---|
สาธารณะ โมฆะ setZIndex (Float zIndex)
ตั้งดัชนี z ของการวางซ้อนพื้นนี้ ดูข้อมูลเพิ่มเติมได้จากเอกสารประกอบที่ด้านบนของชั้นเรียนนี้
พารามิเตอร์
zIndex | zดัชนี ของการวางซ้อนพื้นนี้ |
---|