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

คลาสสุดท้ายสาธารณะ 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 หมายถึงการวางซ้อนโปร่งใส หากบิตแมปที่ระบุโปร่งใสบางส่วนอยู่แล้ว ความโปร่งใสของแต่ละพิกเซลจะมีการปรับขนาดให้สอดคล้องกัน (เช่น หากพิกเซลในบิตแมปมีค่าอัลฟ่าเป็น 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
boolean
isClickable()
รับความสามารถในการคลิกได้ของการวางซ้อนพื้น
boolean
isVisible()
รับการมองเห็นการวางซ้อนพื้นนี้
void
remove()
ลบการวางซ้อนพื้นนี้ออกจากแผนที่
void
setBearing(ตลับลูกปืน)
ตั้งค่าทิศทางของพื้นดิน (ทิศทางที่แกนแนวตั้งของจุดซ้อนทับ) เป็นองศาตามเข็มนาฬิกาจากทิศเหนือ
void
setClickable(บูลีนที่คลิกได้)
ตั้งค่าความสามารถในการคลิกได้ของการวางซ้อนพื้น
void
setDimensions(ความกว้างแบบลอย, ความสูงแบบลอย)
กำหนดขนาดของการวางซ้อนพื้น
void
setDimensions(ความกว้างแบบลอย)
ตั้งค่าความกว้างของการวางซ้อนพื้น
void
setImage(BitmapDescriptor imageDescriptor)
ตั้งค่าภาพสำหรับการวางซ้อนภาคพื้นดิน
void
setPosition(LatLng latLng)
กำหนดตำแหน่งของการวางซ้อนพื้นโดยการเปลี่ยนตำแหน่งของจุดยึด
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 ทั้งหมดบนแผนที่

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

สาธารณะ LatLng getPosition ()

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

คิกรีเทิร์น
  • ตำแหน่งบนแผนที่ (LatLng)

ออบเจ็กต์สาธารณะ 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ดัชนี ของการวางซ้อนพื้นนี้