การวางซ้อนแบบเรียงชิดกัน

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

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

ผู้ให้บริการไทล์
TileProvider ระบุรูปภาพที่ใช้ในการวางซ้อนของชิ้นส่วนแผนที่ คุณต้อง ระบุผู้ให้บริการชิ้นส่วนแผนที่ก่อนจะเพิ่มลงในแผนที่ ผู้ให้บริการการ์ดไม่สามารถ เปลี่ยนแปลงเมื่อเพิ่มเข้าไปแล้ว แต่คุณสามารถแก้ไขลักษณะการทำงานของผู้ให้บริการการ์ด เพื่อแสดงภาพที่ต่างกันสำหรับพิกัดที่เฉพาะเจาะจง หากชิ้นส่วนที่ระบุโดยการ์ดนั้น เปลี่ยนผู้ให้บริการ คุณต้องโทรหา clearTileCache() ในภายหลังเพื่อให้แน่ใจว่า ชิ้นส่วนก่อนหน้าจะไม่แสดงอีกต่อไป
ดัชนีลำดับ Z
ลำดับการวาดของหน้าต่างนี้เทียบกับการวางซ้อนอื่นๆ (รวมถึง GroundOverlay Circle Polyline และ Polygon แต่ไม่ใช่ Marker) ภาพซ้อนทับที่มีดัชนีลำดับ Z ใหญ่กว่าถูกวาดทับการวางซ้อนที่มีดัชนี Z ดัชนี z ลำดับของการวางซ้อนที่มีดัชนี z เดียวกันนั้นกำหนดเอง zIndex เริ่มต้นคือ 0.
ความโปร่งใส
ความโปร่งใสของการวางซ้อนชิ้นส่วนข้อมูลในช่วง [0..1] โดยที่ 0 หมายถึง โฆษณาซ้อนทับเป็นสีทึบและ 1 หมายความว่าโฆษณาซ้อนทับมีความโปร่งใส 100% หากระบุ บิตแมปมีความโปร่งใสบางส่วนอยู่แล้ว ความโปร่งใสของแต่ละพิกเซลจะมีการปรับขนาด (ตัวอย่างเช่น หากพิกเซลในบิตแมปมีค่าอัลฟ่าเป็น 200 และคุณ ระบุความโปร่งใสของการวางซ้อนของชิ้นส่วนแผนที่เป็น 0.25 จากนั้นพิกเซลจะแสดงผลใน หน้าจอที่มีค่าอัลฟ่าเท่ากับ 150) ข้อกำหนดของพร็อพเพอร์ตี้นี้เป็นตัวเลือกที่ไม่บังคับและพร็อพเพอร์ตี้ ความโปร่งใสตามค่าเริ่มต้นคือ 0 (ทึบ)
ระดับการแชร์
ระบุว่าการวางซ้อนของชิ้นส่วนมองเห็นได้หรือมองไม่เห็น กล่าวคือมีการวาดบน แผนที่ การวางซ้อนของชิ้นส่วนแผนที่ไม่ปรากฏ แต่ยังคงรักษาคุณสมบัติอื่นๆ ทั้งหมดของไฟล์ไว้ ค่าเริ่มต้นคือ true นั่นคือแสดงได้

คุณต้องเรียกใช้เมธอดในชั้นเรียนนี้ในเทรดหลักเท่านั้น มิเช่นนั้น IllegalStateException

พิกัดแผนที่ย่อย

โปรดทราบว่าโลกถูกฉายภาพโดยใช้เส้นโครงเมอร์เคเตอร์ (ดู Wikipedia) ด้วยทางด้านซ้าย (ตะวันตก) ของแผนที่ตามลองจิจูด -180 องศา และด้านขวา (ตะวันออก) ของแผนที่ ตามลองจิจูด 180 องศา เพื่อให้แผนที่เป็นรูปสี่เหลี่ยมจตุรัส ให้ด้านบน (ด้านเหนือ) ของ แผนที่ตรงกับละติจูด 85.0511 องศา และด้านล่าง (ใต้) ของแผนที่สอดคล้องกับ ถึง -85.0511 องศาของละติจูด พื้นที่ที่อยู่นอกช่วงละติจูดนี้จะไม่แสดงผล

ในระดับการซูมแต่ละระดับ แผนที่จะแบ่งออกเป็นชิ้นส่วน และเฉพาะชิ้นส่วนที่ซ้อนทับบนหน้าจอ ได้รับการดาวน์โหลดและแสดงผล ชิ้นส่วนแต่ละชิ้นเป็นสี่เหลี่ยมจตุรัสและแผนที่จะแบ่งออกเป็นชิ้นส่วนต่างๆ ดังนี้

  • เมื่อซูมระดับ 0 ชิ้นส่วนเดียวหมายถึงโลกทั้งใบ พิกัดของไทล์ดังกล่าวคือ (x, y) = (0, 0)
  • ที่ระดับการซูม 1 โลกจะแบ่งออกเป็นชิ้นส่วน 4 ชิ้น โดยจัดเรียงอยู่ในตารางกริด 2x2
  • ...
  • ที่ระดับการซูม N โลกจะแบ่งออกเป็นชิ้นส่วน N 4 ส่วนเรียงกันเป็น 2N x 2N ตาราง
โปรดทราบว่าระดับการซูมขั้นต่ำที่กล้องรองรับ (ซึ่งอาจขึ้นอยู่กับปัจจัยต่างๆ) คือ GoogleMap.getMinZoomLevel และ ระดับการซูมสูงสุดคือ GoogleMap.getMaxZoomLevel

พิกัดของชิ้นส่วนแผนที่จะวัดจากมุมซ้ายบน (ทิศตะวันตกเฉียงเหนือ) ของแผนที่ ที่ ระดับการซูม N ค่า x ของพิกัดแผนที่อยู่ระหว่าง 0 ถึง 2N - 1 และ เพิ่มขึ้นจากตะวันตกถึงตะวันออกและค่า y อยู่ในช่วงจาก 0 ถึง 2N - 1 และ เพิ่มขึ้นจากเหนือไปใต้

ตัวอย่าง

GoogleMap map; // ... get a map.
 TileProvider tileProvider; // ... create a tile provider.
 TileOverlay tileOverlay = map.addTileOverlay(
     new TileOverlayOptions().tileProvider(tileProvider));
 

ข้อมูลสรุปของเมธอดสาธารณะ

เป็นโมฆะ
clearTileCache()
ล้างแคชการ์ดเพื่อให้มีการขอการ์ดทั้งหมดจาก TileProvider อีกครั้ง
boolean
เท่ากับ(ออบเจ็กต์อื่นๆ)
ทดสอบว่า TileOverlay นี้เท่ากับอีกรายการหนึ่งหรือไม่
boolean
getFadeIn()
รับข้อมูลว่าไทล์การวางซ้อนควรค่อยๆ เฟดเข้ามาหรือไม่
สตริง
getId()
รับรหัสของการวางซ้อนของชิ้นส่วนแผนที่นี้
จำนวนลอยตัว
getTransparency()
แสดงความโปร่งใสของการวางซ้อนของชิ้นส่วนแผนที่นี้
จำนวนลอยตัว
getZIndex()
รับ zIndex ของการวางซ้อนชิ้นส่วนภาพนี้
int
boolean
isVisible()
รับการแสดงผลของการวางซ้อนของชิ้นส่วนแผนที่นี้
เป็นโมฆะ
remove()
นำการวางซ้อนของชิ้นส่วนนี้ออกจากแผนที่
เป็นโมฆะ
setFadeIn(boolean fadeIn)
กำหนดว่าควรค่อยๆ เลือนหายไปของชิ้นส่วนซ้อนทับ
เป็นโมฆะ
setTransparency(ความโปร่งใสแบบลอย)
ตั้งค่าความโปร่งใสของการวางซ้อนของชิ้นส่วนแผนที่นี้
เป็นโมฆะ
setVisible(boolean visible)
ตั้งค่าการเปิดเผยของการวางซ้อนของชิ้นส่วนแผนที่นี้
เป็นโมฆะ
setZIndex(จำนวนลอยตัว zIndex)
ตั้งค่า zIndex ของการวางซ้อนชิ้นส่วนภาพนี้

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

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

สาธารณะ เป็นโมฆะ clearTileCache ()

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

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

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

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

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

รับข้อมูลว่าไทล์การวางซ้อนควรค่อยๆ เฟดเข้ามาหรือไม่

การคืนสินค้า
  • true หากไทล์จะค่อยๆ จางลง falseหากไม่ใช่

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

รับรหัสของการวางซ้อนของชิ้นส่วนแผนที่นี้

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

แสดงความโปร่งใสของการวางซ้อนของชิ้นส่วนแผนที่นี้

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

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

รับ zIndex ของการวางซ้อนชิ้นส่วนภาพนี้

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

สาธารณะ Int hashCode ()

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

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

การคืนสินค้า
  • การเปิดเผยของชิ้นส่วนแผนที่นี้

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

นำการวางซ้อนของชิ้นส่วนนี้ออกจากแผนที่

สาธารณะ เป็นโมฆะ setFadeIn (เฟดอินแบบบูลีน)

กำหนดว่าควรค่อยๆ เลือนหายไปของชิ้นส่วนซ้อนทับ

พารามิเตอร์
fadeIn true เพื่อให้ไทล์ค่อยๆ จางลง falseเพื่อแสดงผลทันที

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

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

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

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

ตั้งค่าการเปิดเผยของการวางซ้อนของชิ้นส่วนแผนที่นี้ เมื่อมองไม่เห็น จะไม่มีการวาดการวางซ้อนของชิ้นส่วน แต่ จะยังมีพร็อพเพอร์ตี้อื่นๆ ทั้งหมดด้วย การวางซ้อนของชิ้นส่วนแผนที่จะปรากฏขึ้นโดยค่าเริ่มต้น

พารามิเตอร์
มองเห็นได้ true เพื่อให้การวางซ้อนนี้มองเห็นได้ falseเพื่อทำให้ซ่อนตัวได้

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

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

พารามิเตอร์
zIndex zIndex ของการวางซ้อนชิ้นส่วนแผนที่นี้