การวางซ้อนพื้น

ชั้นเรียนสุดท้ายแบบสาธารณะ GroundOverlay ขยายออบเจ็กต์

ภาพวางซ้อนพื้นดินคือภาพที่ยึดติดกับแผนที่ การวางซ้อนพื้นมีสิ่งต่อไปนี้ พร็อพเพอร์ตี้:

อันดับ
การระบุตำแหน่งของการวางซ้อนพื้นมี 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 หมายความว่าโฆษณาซ้อนทับมีความโปร่งใส 100% หากระบุ บิตแมปมีความโปร่งใสบางส่วนอยู่แล้ว ความโปร่งใสของแต่ละพิกเซลจะมีการปรับขนาด (ตัวอย่างเช่น หากพิกเซลในบิตแมปมีค่าอัลฟ่าเป็น 200 และคุณ ระบุความโปร่งใสของการวางซ้อนพื้นเป็น 0.25 จากนั้นพิกเซลจะแสดงใน หน้าจอที่มีค่าอัลฟ่าเท่ากับ 150) ข้อกำหนดของพร็อพเพอร์ตี้นี้เป็นตัวเลือกที่ไม่บังคับและพร็อพเพอร์ตี้ ความโปร่งใสตามค่าเริ่มต้นคือ 0 (ทึบ)
ระดับการแชร์
ระบุว่าการวางซ้อนพื้นปรากฏหรือมองไม่เห็น เช่น มีการวาดบน แผนที่ ไม่มีการวาดการวางซ้อนพื้นที่ไม่แสดง แต่ยังคงคุณสมบัติอื่นๆ ทั้งหมดของพื้นที่ดังกล่าว ตัวเลือกนี้เป็นตัวเลือกและระดับการเข้าถึงเริ่มต้นคือ true ซึ่งก็คือมองเห็นได้
ความสามารถในการคลิกได้
หากคุณต้องการจัดการเหตุการณ์ที่เริ่มทำงานเมื่อผู้ใช้คลิกการวางซ้อนพื้น ให้ตั้งค่าสิ่งนี้ พร็อพเพอร์ตี้ไปยัง true คุณสามารถเปลี่ยนแปลงค่านี้ได้ตลอดเวลา โดยมีค่าเริ่มต้นเป็น false หากตั้งค่าพร็อพเพอร์ตี้นี้เป็น true แอปจะได้รับการแจ้งเตือนไปยัง GoogleMap.OnGroundOverlayClickListener ลงทะเบียนผ่าน setOnGroundOverlayClickListener(GoogleMap.OnGroundOverlayClickListener)
แท็ก
Object ที่เชื่อมโยงกับการวางซ้อนพื้น ตัวอย่างเช่น Object สามารถ มีข้อมูลเกี่ยวกับสิ่งที่การวางซ้อนพื้นดิน ซึ่งง่ายกว่าการจัดเก็บ แยก Map<GroundOverlay, Object> อีกตัวอย่างหนึ่งคือคุณสามารถเชื่อมโยงรหัส String ที่เกี่ยวข้องกับรหัสนั้นจากชุดข้อมูล Google Maps SDK สำหรับ Android ก็ไม่ได้เช่นกัน จะอ่านและเขียนคุณสมบัตินี้

ต้องเรียกใช้เมธอดในคลาสนี้บนเทรด Android UI หากไม่เป็นเช่นนั้น 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 นี้เท่ากับอีกรายการหนึ่งหรือไม่
จำนวนลอยตัว
getBearing()
รับทิศทางของพื้นดินซ้อนทับเป็นองศาตามเข็มนาฬิกาจากทิศเหนือ
LatLngBounds
getBounds()
รับขอบเขตสำหรับการวางซ้อนพื้น
จำนวนลอยตัว
getHeight()
รับข้อมูลความสูงของการวางซ้อนพื้น
สตริง
getId()
รับรหัสของการวางซ้อนพื้นนี้
LatLng
getPosition()
รับตำแหน่งของจุดยึด
ออบเจ็กต์
getTag()
รับแท็กสำหรับแวดวง
จำนวนลอยตัว
getTransparency()
ได้รับความโปร่งใสของการวางซ้อนพื้นนี้
จำนวนลอยตัว
getWidth()
รับความกว้างของการวางซ้อนพื้น
จำนวนลอยตัว
getZIndex()
รับค่า zIndex ของการวางซ้อนพื้นนี้
int
boolean
isClickable()
รับความสามารถในการคลิกได้ของการวางซ้อนพื้น
boolean
isVisible()
รับการแสดงผลของการวางซ้อนพื้นนี้
เป็นโมฆะ
remove()
ลบการวางซ้อนพื้นนี้ออกจากแผนที่
เป็นโมฆะ
setBearing(ทิศทางลอย)
ตั้งทิศทางของพื้นดิน (ทิศทางที่แกนแนวตั้งของพื้นดิน จุดซ้อนทับ) เป็นองศาตามเข็มนาฬิกาจากทิศเหนือ
เป็นโมฆะ
setClickable(คลิกบูลีนได้)
ตั้งค่าความสามารถในการคลิกได้ของการวางซ้อนพื้น
เป็นโมฆะ
setDimensions(ความกว้างแบบลอย ความสูงแบบลอย)
กำหนดขนาดของการวางซ้อนพื้น
เป็นโมฆะ
setDimensions(ความกว้างแบบลอย)
กำหนดความกว้างของการวางซ้อนพื้น
เป็นโมฆะ
setImage(BitmapDescriptor imageDescriptor)
ตั้งค่าภาพสำหรับการวางซ้อนภาคพื้นดิน
เป็นโมฆะ
setPosition(LatLng latLng)
กำหนดตำแหน่งของการวางซ้อนพื้นโดยเปลี่ยนตำแหน่งของจุดยึด
เป็นโมฆะ
setPositionFromBounds(ขอบเขต LatLngBounds)
กำหนดตำแหน่งของการวางซ้อนพื้นโดยพอดีกับ LatLngBounds ที่ระบุ
เป็นโมฆะ
setTag(แท็กออบเจ็กต์)
ตั้งค่าแท็กสำหรับการวางซ้อนพื้น
เป็นโมฆะ
setTransparency(ความโปร่งใสแบบลอย)
ตั้งค่าความโปร่งใสของการวางซ้อนพื้นนี้
เป็นโมฆะ
setVisible(boolean visible)
ตั้งค่าการเปิดเผยของการวางซ้อนพื้นนี้
เป็นโมฆะ
setZIndex(จำนวนลอยตัว zIndex)
ตั้งค่า zIndex ของการวางซ้อนพื้นนี้

สรุปวิธีการที่รับมา

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

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

ทดสอบว่า GroundOverlay นี้เท่ากับอีกรายการหนึ่งหรือไม่

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

สาธารณะ จำนวนลอยตัว getBearing ()

รับทิศทางของพื้นดินซ้อนทับเป็นองศาตามเข็มนาฬิกาจากทิศเหนือ

การคืนสินค้า
  • ทิศทางของพื้นดิน

สาธารณะ LatLngBounds getBounds ()

รับขอบเขตสำหรับการวางซ้อนพื้น โดยไม่คำนึงถึงการหมุนของการวางซ้อนพื้น

การคืนสินค้า
  • LatLngBounds ที่มีการวางซ้อนพื้นโดยไม่คำนึงถึงการหมุน

สาธารณะ จำนวนลอยตัว getHeight ()

รับข้อมูลความสูงของการวางซ้อนพื้น

การคืนสินค้า
  • ความสูงของการวางซ้อนพื้นในหน่วยเมตร

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

รับรหัสของการวางซ้อนพื้นนี้ รหัสจะไม่ซ้ำกับ GroundOverlays ทั้งหมดบนแผนที่

การคืนสินค้า
  • รหัสของการวางซ้อนพื้นนี้

สาธารณะ LatLng getPosition ()

รับตำแหน่งของจุดยึด

การคืนสินค้า
  • ตำแหน่งบนแผนที่ (LatLng)

สาธารณะ วัตถุ getTag ()

รับแท็กสำหรับแวดวง

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

สาธารณะ จำนวนลอยตัว getTransparency ()

ได้รับความโปร่งใสของการวางซ้อนพื้นนี้

การคืนสินค้า
  • ความโปร่งใสของการวางซ้อนพื้นนี้

สาธารณะ จำนวนลอยตัว getWidth ()

รับความกว้างของการวางซ้อนพื้น

การคืนสินค้า
  • ความกว้างของพื้นที่ซ้อนทับในหน่วยเมตร

สาธารณะ จำนวนลอยตัว getZIndex ()

รับค่า zIndex ของการวางซ้อนพื้นนี้

การคืนสินค้า
  • zIndex ของการวางซ้อนพื้น

สาธารณะ Int hashCode ()

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

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

การคืนสินค้า
  • true หากการวางซ้อนพื้นคลิกได้ ไม่เช่นนั้น ระบบจะแสดงผล false

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

รับการแสดงผลของการวางซ้อนพื้นนี้ โปรดทราบว่าสิ่งนี้ไม่ได้แสดงผลว่า ที่วางซ้อนอยู่บนหน้าจอ แต่จะวาดขึ้นไหมหากมีภาพซ้อนอยู่ในภาพ วิวพอร์ต

การคืนสินค้า
  • การเปิดเผยของภาพซ้อนทับระดับพื้นดินนี้

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

ลบการวางซ้อนพื้นนี้ออกจากแผนที่ หลังจากนำการวางซ้อนพื้นออก การทำงาน ของวิธีการทั้งหมดเป็นไม่ระบุ

สาธารณะ เป็นโมฆะ setBearing (ทิศทางลอย)

ตั้งทิศทางของพื้นดิน (ทิศทางที่แกนแนวตั้งของพื้นดิน จุดซ้อนทับ) เป็นองศาตามเข็มนาฬิกาจากทิศเหนือ การหมุนจะเกี่ยวกับแท็ก Anchor คะแนน

พารามิเตอร์
การแบก หันองศาตามเข็มนาฬิกาจากทิศเหนือ

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

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

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

สาธารณะ เป็นโมฆะ setDimensions (ความกว้างแบบลอย ความสูงแบบลอย)

กำหนดขนาดของการวางซ้อนพื้น รูปภาพจะถูกยืดออกเพื่อให้พอดีกับขนาด

พารามิเตอร์
ความกว้าง ความกว้างเป็นเมตร
ส่วนสูง ความสูงเป็นเมตร

สาธารณะ เป็นโมฆะ setDimensions (ความกว้างแบบลอย)

กำหนดความกว้างของการวางซ้อนพื้น ระบบจะปรับความสูงของการวางซ้อนพื้น ตามนั้นเพื่อรักษาอัตราส่วนไว้

พารามิเตอร์
ความกว้าง ความกว้างเป็นเมตร

สาธารณะ เป็นโมฆะ setImage (BitmapDescriptor imageDescriptor)

ตั้งค่าภาพสำหรับการวางซ้อนภาคพื้นดิน รูปภาพใหม่จะมีขอบเขตเท่ากับภาพเก่า รูปภาพ

พารามิเตอร์
imageDescriptor BitmapDescriptor ที่ใช้สำหรับการวางซ้อนพื้นนี้

สาธารณะ เป็นโมฆะ setPosition (LatLng latLng)

กำหนดตำแหน่งของการวางซ้อนพื้นโดยเปลี่ยนตำแหน่งของจุดยึด แยมพรีเสิร์ฟ คุณสมบัติอื่นๆ ทั้งหมดของรูปภาพ

พารามิเตอร์
latLng LatLng ที่เป็นตำแหน่งใหม่เพื่อวางจุดยึด

สาธารณะ เป็นโมฆะ setPositionFromBounds (ขอบเขต LatLngBounds)

กำหนดตำแหน่งของการวางซ้อนพื้นโดยพอดีกับ LatLngBounds ที่ระบุ ช่วงเวลานี้ จะไม่สนใจการหมุน (ทิศทาง) ของพื้นดินเมื่อวางตำแหน่ง แต่ การวาดรูปจะยังถูกใช้เมื่อวาด

พารามิเตอร์
ขอบเขต LatLngBounds ที่จะวางการวางซ้อนพื้น

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

ตั้งค่าแท็กสำหรับการวางซ้อนพื้น

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

พารามิเตอร์
แท็ก หากเป็นค่าว่าง ระบบจะล้างแท็ก

สาธารณะ เป็นโมฆะ setTransparency (ความโปร่งใสแบบลอย)

ตั้งค่าความโปร่งใสของการวางซ้อนพื้นนี้ ดูเอกสารประกอบที่ด้านบนของชั้นเรียนนี้ เพื่อดูข้อมูลเพิ่มเติม

พารามิเตอร์
ความโปร่งใส จำนวนลอยตัวในช่วง [0..1] โดยที่ 0 หมายความว่าพื้น ภาพซ้อนทับ เป็นแบบทึบ และ 1 หมายความว่า การวางซ้อนพื้นมีความโปร่งใส

สาธารณะ เป็นโมฆะ setVisible (แสดงบูลีน)

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

พารามิเตอร์
มองเห็นได้ หาก true จะมีการวางซ้อนพื้นเกิดขึ้น หากเป็น false ก็ไม่ใช่

สาธารณะ เป็นโมฆะ setZIndex (ดัชนี z แบบลอย)

ตั้งค่า zIndex ของการวางซ้อนพื้นนี้ สำหรับข้อมูลเพิ่มเติม โปรดดูเอกสารประกอบที่ด้านบนของชั้นเรียนนี้

พารามิเตอร์
zIndex zIndex ของการวางซ้อนพื้นนี้