การวางซ้อนของชิ้นส่วนแผนที่คือชุดภาพที่แสดงที่ด้านบนของชิ้นส่วนแผนที่ฐาน ชิ้นส่วนเหล่านี้อาจเป็นแบบโปร่งใส ซึ่งช่วยให้คุณเพิ่มจุดสนใจลงในแผนที่ที่มีอยู่ได้ การวางซ้อนของชิ้นส่วนแผนที่มีคุณสมบัติดังต่อไปนี้
- ผู้ให้บริการกระเบื้อง
TileProvider
มอบรูปภาพที่ใช้ในการวางซ้อนของชิ้นส่วนแผนที่ คุณต้องระบุผู้ให้บริการการ์ดก่อนเพิ่มลงในแผนที่ เมื่อเพิ่มผู้ให้บริการการ์ดแล้วจะเปลี่ยนแปลงไม่ได้ แต่จะเปลี่ยนลักษณะการทำงานของผู้ให้บริการการ์ดเพื่อให้แสดงรูปภาพที่แตกต่างกันสำหรับพิกัดที่เฉพาะเจาะจงได้ หากการ์ดที่มาจากผู้ให้บริการการ์ดมีการเปลี่ยนแปลง คุณต้องเรียกใช้clearTileCache()
ในภายหลังเพื่อให้แน่ใจว่าการ์ดก่อนหน้าจะไม่แสดงอีกต่อไป- ดัชนีลำดับ Z
- ลำดับการวาดการวางซ้อนของชิ้นส่วนนี้โดยสัมพันธ์กับการวางซ้อนอื่นๆ (รวมถึง
GroundOverlay
,Circle
,Polyline
และPolygon
แต่ไม่รวมMarker
) การวางซ้อนที่มีดัชนี z ใหญ่กว่าจะถูกวาดทับบนโฆษณาซ้อนทับที่มีดัชนี z ที่เล็กกว่า ลำดับของโฆษณาซ้อนทับที่มีดัชนีลำดับ Z เดียวกันจะเป็นแบบอิสระ zIndex เริ่มต้นคือ 0 - ความโปร่งใส
- ความโปร่งใสของการวางซ้อนของชิ้นส่วนในช่วง
[0..1]
โดยที่0
หมายความว่าการวางซ้อนเป็นแบบทึบ และ1
หมายถึงการวางซ้อนโปร่งใส หากบิตแมปที่ระบุโปร่งใสบางส่วนอยู่แล้ว ระบบจะปรับขนาดความโปร่งใสของแต่ละพิกเซลให้สอดคล้องกัน (เช่น หากพิกเซลในบิตแมปมีค่าอัลฟ่าเป็น 200 และคุณระบุความโปร่งใสของการวางซ้อนของชิ้นส่วนเป็น 0.25 พิกเซลจะแสดงผลบนหน้าจอด้วยค่าอัลฟ่าที่ 150) ข้อมูลจำเพาะของพร็อพเพอร์ตี้นี้เป็นแบบไม่บังคับและความโปร่งใสเริ่มต้นคือ 0 (ทึบ) - ระดับการแชร์
- ระบุว่าการวางซ้อนของชิ้นส่วนแผนที่มองเห็นได้หรือไม่ อย่างเช่น ภาพถูกวาดบนแผนที่หรือไม่ ระบบจะไม่วาดการวางซ้อนของชิ้นส่วนแผนที่ที่มองไม่เห็น แต่องค์ประกอบอื่นๆ ทั้งหมดไว้จะยังคงอยู่ ค่าเริ่มต้นคือ
true
นั่นคือแสดง
คุณต้องเรียกใช้เมธอดในคลาสนี้ในเทรดหลักเท่านั้น มิเช่นนั้นระบบจะสร้าง IllegalStateException
พิกัดแผนที่ย่อย
โปรดทราบว่าโลกถูกฉายภาพโดยใช้เส้นโครงเมอร์เคเตอร์ (ดูวิกิพีเดีย) โดยทางซ้าย (ตะวันตก) ของแผนที่ที่สัมพันธ์กับลองจิจูด -180 องศา และด้านขวา (ตะวันออก) ของแผนที่ที่สัมพันธ์กับลองจิจูด 180 องศา ในการทำให้แผนที่เป็นสี่เหลี่ยมจัตุรัส ด้านบน (ทิศเหนือ) ของแผนที่จะสอดคล้องกับละติจูด 85.0511 องศา และด้านล่าง (ใต้) ของแผนที่จะสอดคล้องกับละติจูด -85.0511 องศา พื้นที่ที่อยู่นอกช่วงละติจูดนี้จะไม่แสดงผล
ในแต่ละระดับการซูม ระบบจะแบ่งแผนที่ออกเป็นชิ้นส่วนแผนที่ โดยจะดาวน์โหลดและแสดงผลเฉพาะชิ้นส่วนที่ทับซ้อนหน้าจอเท่านั้น แต่ละชิ้นส่วนเป็นสี่เหลี่ยมจัตุรัส และแผนที่จะแบ่งออกเป็นชิ้นส่วนดังนี้
- เมื่อซูมระดับ 0 ภาพ 1 ภาพจะแสดงถึงโลกทั้งใบ พิกัดของไทล์นั้นคือ (x, y) = (0, 0)
- ที่ระดับการซูม 1 โลกจะแบ่งออกเป็น 4 ชิ้นส่วนที่จัดเรียงอยู่ในตาราง 2 x 2
- ...
- ในระดับการซูม N โลกจะแบ่งออกเป็นชิ้นส่วน 4N ชิ้นที่จัดเรียงในตารางกริดขนาด 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));
สรุปวิธีการสาธารณะ
void |
clearTileCache()
ล้างแคชไทล์เพื่อให้มีการขอไทล์ทั้งหมดจาก
TileProvider อีกครั้ง |
boolean |
เท่ากับ(ออบเจ็กต์อื่นๆ)
ทดสอบว่า
TileOverlay นี้เท่ากับอีกหรือไม่ |
boolean |
getFadeIn()
กำหนดว่าชิ้นส่วนการวางซ้อนควรจางเข้ามาหรือไม่
|
สตริง |
getId()
รับรหัสของการวางซ้อนชิ้นส่วนนี้
|
float |
getTransparency()
รับความโปร่งใสของการวางซ้อนชิ้นส่วนนี้
|
float |
getZIndex()
รับดัชนี z ของการวางซ้อนชิ้นส่วนนี้
|
int |
hashCode()
|
boolean |
isVisible()
รับการเปิดเผยการวางซ้อนของชิ้นส่วนนี้
|
void |
remove()
นำการวางซ้อนของชิ้นส่วนแผนที่นี้ออกจากแผนที่
|
void |
setFadeIn(เฟดอินบูลีน)
ตั้งค่าว่าชิ้นส่วนการวางซ้อนควรจางเข้ามาหรือไม่
|
void |
setTransparency(ความโปร่งใสแบบลอย)
ตั้งค่าความโปร่งใสของการวางซ้อนชิ้นส่วนนี้
|
void |
setVisible(แสดงบูลีน)
ตั้งค่าการมองเห็นการวางซ้อนของชิ้นส่วนภาพนี้
|
void |
setZIndex(Float zIndex)
ตั้งค่า zดัชนี ของการวางซ้อนชิ้นส่วนภาพนี้
|
ข้อมูลสรุปของเมธอดที่รับช่วงมา
วิธีการสาธารณะ
โมฆะสาธารณะ clearTileCache ()
ล้างแคชไทล์เพื่อให้มีการขอไทล์ทั้งหมดจาก TileProvider
อีกครั้ง
ระบบจะล้างชิ้นส่วนปัจจุบันจากการวางซ้อนของชิ้นส่วนนี้ออกจากแผนที่ด้วยหลังจากเรียกใช้เมธอดนี้ API จะเก็บแคชของชิ้นส่วนข้อมูลในหน่วยความจำขนาดเล็ก หากต้องการแคชการ์ดให้นานขึ้น คุณควรใช้แคชบนดิสก์
บูลีนสาธารณะ เท่ากับ (ออบเจ็กต์อื่นๆ)
ทดสอบว่า TileOverlay
นี้เท่ากับอีกหรือไม่
พารามิเตอร์
อื่นๆ | Object |
---|
คิกรีเทิร์น
- เป็นจริงถ้าวัตถุทั้งสองเป็นวัตถุเดียวกัน นั่นคือ == other
บูลีนสาธารณะ getFadeIn ()
กำหนดว่าชิ้นส่วนการวางซ้อนควรจางเข้ามาหรือไม่
คิกรีเทิร์น
true
หากการ์ดค่อยๆ เลือนหายfalse
หากการ์ดไม่ปรากฏขึ้น
สาธารณะ สตริง getId ()
รับรหัสของการวางซ้อนชิ้นส่วนนี้
แบบลอยสาธารณะ getTransparency ()
รับความโปร่งใสของการวางซ้อนชิ้นส่วนนี้
คิกรีเทิร์น
- ความโปร่งใสของการวางซ้อนของชิ้นส่วนนี้
ทศนิยมสาธารณะ getZIndex ()
รับดัชนี z ของการวางซ้อนชิ้นส่วนนี้
คิกรีเทิร์น
- zIndex ของการวางซ้อนชิ้นส่วนภาพ
สาธารณะ int hashCode ()
บูลีนสาธารณะ isVisible ()
รับการเปิดเผยการวางซ้อนของชิ้นส่วนนี้ โปรดทราบว่าการดำเนินการนี้ไม่ได้แสดงผลว่าการวางซ้อนของชิ้นส่วนภาพอยู่ภายในวิวพอร์ตของหน้าจอจริงๆ หรือไม่ แต่จะมีการวาดขึ้นหรือไม่หากอยู่ในวิวพอร์ตของหน้าจอ
คิกรีเทิร์น
- การมองเห็นการวางซ้อนของชิ้นส่วนแผนที่นี้
โมฆะสาธารณะ นำออก ()
นำการวางซ้อนของชิ้นส่วนแผนที่นี้ออกจากแผนที่
โมฆะสาธารณะ setFadeIn (boolean fadeIn)
ตั้งค่าว่าชิ้นส่วนการวางซ้อนควรจางเข้ามาหรือไม่
พารามิเตอร์
fadeIn | true เพื่อทำให้ชิ้นส่วนค่อยๆ ปรากฏขึ้น และกด false เพื่อแสดงผลทันที
|
---|
Public void setTransparency (ความโปร่งใสแบบลอย)
ตั้งค่าความโปร่งใสของการวางซ้อนชิ้นส่วนนี้ ดูข้อมูลเพิ่มเติมได้จากเอกสารประกอบที่ด้านบนของชั้นเรียนนี้
พารามิเตอร์
ความโปร่งใส | แบบลอยในช่วง [0..1] โดยที่ 0 หมายความว่าการวางซ้อนของชิ้นส่วนสีทึบและ 1 หมายความว่าการวางซ้อนของชิ้นส่วนโปร่งใส
|
---|
โมฆะสาธารณะ setVisible (boolean visible)
ตั้งค่าการมองเห็นการวางซ้อนของชิ้นส่วนภาพนี้ เมื่อไม่แสดง จะไม่มีการวาดการวางซ้อนของชิ้นส่วนแผนที่แต่จะยังเก็บคุณสมบัติอื่นๆ ทั้งหมดไว้ การวางซ้อนของชิ้นส่วนแผนที่จะแสดงโดยค่าเริ่มต้น
พารามิเตอร์
มองเห็นได้ | true เพื่อทำให้การวางซ้อนนี้ปรากฏขึ้น false เพื่อซ่อนตัว
|
---|
สาธารณะ โมฆะ setZIndex (Float zIndex)
ตั้งค่า zดัชนี ของการวางซ้อนชิ้นส่วนภาพนี้ ดูข้อมูลเพิ่มเติมได้จากเอกสารประกอบที่ด้านบนของชั้นเรียนนี้
พารามิเตอร์
zIndex | zIndex ของการวางซ้อนของชิ้นส่วนนี้ |
---|