มาร์กเกอร์

คลาสสุดท้ายสาธารณะ Marker ขยายออบเจ็กต์

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

เครื่องหมายมีคุณสมบัติดังต่อไปนี้

อัลฟ่า
ตั้งค่าความทึบของเครื่องหมาย ค่าเริ่มต้นคือ 1.0
สมอ
จุดบนรูปภาพที่วางไว้ตรงตำแหน่ง LatLng ของเครื่องหมาย ค่าเริ่มต้นจะเป็น 50% จากด้านซ้ายของรูปภาพและที่ด้านล่างของรูปภาพ
อันดับ
ค่า LatLng สำหรับตำแหน่งเครื่องหมายบนแผนที่ คุณสามารถเปลี่ยนค่านี้ได้ทุกเมื่อหากต้องการย้ายเครื่องหมาย
ชื่อ
สตริงข้อความที่แสดงในหน้าต่างข้อมูลเมื่อผู้ใช้แตะเครื่องหมาย คุณเปลี่ยนแปลงค่านี้ได้ทุกเมื่อ
ตัวอย่างข้อมูล
ข้อความเพิ่มเติมจะแสดงอยู่ใต้ชื่อ คุณสามารถเปลี่ยนแปลงค่านี้ได้ตลอดเวลา
Icon
บิตแมปที่แสดงสำหรับเครื่องหมาย หากไม่ได้ตั้งค่าไอคอนไว้ ไอคอนเริ่มต้นจะแสดงขึ้นมา คุณระบุสีอื่นๆ ของไอคอนเริ่มต้นได้โดยใช้ defaultMarker(float)
สถานะการลาก
หากต้องการอนุญาตให้ผู้ใช้ลากเครื่องหมาย ให้ตั้งค่าคุณสมบัตินี้เป็น true คุณเปลี่ยนค่านี้ได้ทุกเมื่อ ค่าเริ่มต้นคือ false
ระดับการแชร์
โดยค่าเริ่มต้น เครื่องหมายจะปรากฏให้เห็น หากต้องการซ่อนเครื่องหมาย ให้ตั้งค่าคุณสมบัตินี้เป็น false คุณสามารถเปลี่ยนแปลงค่านี้ได้ตลอดเวลา
แฟลตหรือบิลบอร์ด
หากเครื่องหมายอยู่บนแผนที่ เครื่องหมายจะติดอยู่กับแผนที่เนื่องจากกล้องจะหมุนและเอียง แต่จะยังคงมีขนาดเดียวกับการซูมของกล้อง ซึ่งต่างจากGroundOverlay ถ้าเครื่องหมายเป็นป้ายโฆษณา จะวาดโดยหันเข้าหากล้องเสมอ และจะหมุนและเอียงโดยใช้กล้อง ค่าเริ่มต้นคือบิลบอร์ด (false)
การหมุน
การหมุนของเครื่องหมายตามเข็มนาฬิกาเกี่ยวกับจุดยึดของเครื่องหมาย โดยแกนของการหมุนจะตั้งฉากกับเครื่องหมาย การหมุน 0 จะตรงกับตำแหน่งเริ่มต้นของเครื่องหมาย เมื่อเครื่องหมายอยู่ในแนวราบบนแผนที่ ตำแหน่งเริ่มต้นจะเป็นแนวเหนือ และการหมุนจะทำให้เครื่องหมายยังคงเป็นแนวราบบนแผนที่เสมอ เมื่อเครื่องหมายเป็นป้ายโฆษณา ตำแหน่งเริ่มต้นจะชี้ขึ้นและการหมุนจะทำให้เครื่องหมายหันเข้าหากล้องเสมอ ค่าเริ่มต้นคือ 0
zIndex
ลำดับการวาดของเครื่องหมาย ระบบจะวาดเครื่องหมายตามลำดับของ zIndex โดยวาดเครื่องหมาย zIndex สูงสุดไว้ด้านบน การตั้งค่าพร็อพเพอร์ตี้ zIndex สำหรับแต่ละเครื่องหมายจะช่วยให้คุณควบคุมเป้าหมายการแตะที่ผู้ใช้มีแนวโน้มที่จะเข้าถึงมากที่สุดได้ ค่าเริ่มต้นคือ 0
ติดแท็ก
Object ที่เชื่อมโยงกับเครื่องหมาย ตัวอย่างเช่น Object อาจมีข้อมูลเกี่ยวกับสิ่งที่เครื่องหมายแสดง วิธีนี้ง่ายกว่าการเก็บ Map<Marker, Object> แยกต่างหาก อีกตัวอย่างหนึ่งก็คือ คุณสามารถเชื่อมโยงรหัส String ที่ตรงกับรหัสจากชุดข้อมูล Google Maps SDK สำหรับ Android จะไม่อ่านและเขียนพร็อพเพอร์ตี้นี้

ต้องเรียกใช้เมธอดในคลาสนี้บนเธรด UI ของ Android หากไม่เป็นเช่นนั้น จะมีการส่ง IllegalStateException ขณะรันไทม์

ตัวอย่าง

GoogleMap map = ... // get a map.
 // Add a marker at San Francisco.
 Marker marker = map.addMarker(new MarkerOptions()
     .position(new LatLng(37.7750, 122.4183))
     .title("San Francisco")
     .snippet("Population: 776733"));
 

คู่มือนักพัฒนา

ดูข้อมูลเพิ่มเติมได้ในคู่มือนักพัฒนาซอฟต์แวร์ Markers

สรุปข้อมูลชั้นเรียนที่ซ้อนกัน

@อินเทอร์เฟซ Marker.CollisionBehavior ระบุวิธีจัดการกับเครื่องหมายเมื่อเกิดการชนกับเครื่องหมายอื่นๆ หรือป้ายกำกับแผนที่ฐาน

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

boolean
เท่ากับ(ออบเจ็กต์อื่นๆ)
ทดสอบว่า Marker นี้เท่ากับอีกหรือไม่
float
getAlpha()
เรียกอัลฟ่าของเครื่องหมาย
สตริง
getId()
รับรหัสของเครื่องหมายนี้
LatLng
getPosition()
แสดงตำแหน่งของเครื่องหมาย
float
getRotation()
รับการหมุนของเครื่องหมาย
สตริง
getSnippet()
รับตัวอย่างข้อมูลของเครื่องหมาย
ออบเจ็กต์
getTag()
รับแท็กสำหรับตัวทำเครื่องหมาย
สตริง
getTitle()
รับชื่อของเครื่องหมาย
float
getZIndex()
แสดง zIndex ของเครื่องหมาย
int
void
hideInfoWindow()
ซ่อนหน้าต่างข้อมูลหากแสดงจากเครื่องหมายนี้
boolean
isDraggable()
รับความสามารถในการลากของเครื่องหมาย
boolean
isFlat()
รับการตั้งค่าแบบแบนของมาร์กเกอร์
boolean
isInfoWindowShown()
ส่งคืนว่าหน้าต่างข้อมูลแสดงอยู่เหนือเครื่องหมายนี้หรือไม่
boolean
isVisible()
รับการตั้งค่าการแสดงผลของเครื่องหมายนี้
void
remove()
ลบเครื่องหมายนี้ออกจากแผนที่
void
setAlpha(อัลฟ่าแบบลอย)
ตั้งค่าอัลฟ่า (ความทึบแสง) ของเครื่องหมาย
void
setAnchor(แท็ก AnchorU แบบลอย, แท็ก AnchorV แบบลอย)
กำหนดจุดยึดสำหรับเครื่องหมาย
void
setDraggable(ลากได้แบบบูลีน)
ตั้งค่าความสามารถในการลากของเครื่องหมาย
void
setFlat(บูลีนแบน)
ตั้งค่าว่าเครื่องหมายนี้ควรราบกับแผนที่ true หรือป้ายบิลบอร์ดที่หันเข้าหากล้อง false
void
setIcon(BitmapDescriptor iconDescriptor)
กำหนดไอคอนสำหรับเครื่องหมาย
void
setInfoWindowAnchor(AnchorU, Float AnchorV)
ระบุจุดในรูปภาพเครื่องหมายที่จะตรึงหน้าต่างข้อมูลเมื่อแสดง
void
setPosition(LatLng ละติจูด)
กำหนดตำแหน่งของเครื่องหมาย
void
setRotation(การหมุนแบบลอย)
ตั้งค่าการหมุนของเครื่องหมายเป็นองศาตามเข็มนาฬิกาเกี่ยวกับจุดยึดของเครื่องหมาย
void
setSnippet(ข้อมูลโค้ดสตริง)
ตั้งค่าข้อมูลของเครื่องหมาย
void
setTag(แท็กออบเจ็กต์)
ตั้งค่าแท็กสำหรับตัวทำเครื่องหมาย
void
setTitle(ชื่อสตริง)
ตั้งชื่อของเครื่องหมาย
void
setVisible(แสดงบูลีน)
ตั้งค่าการแสดงเครื่องหมายนี้
void
setZIndex(Float zIndex)
ตั้งค่า zIndex ของเครื่องหมาย
void
showInfoWindow()
แสดงหน้าต่างข้อมูลของเครื่องหมายนี้บนแผนที่ หากเครื่องหมายนี้ isVisible()

ข้อมูลสรุปของเมธอดที่รับช่วงมา

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

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

ทดสอบว่า Marker นี้เท่ากับอีกหรือไม่

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

ทศนิยมสาธารณะ getAlpha ()

เรียกอัลฟ่าของเครื่องหมาย

คิกรีเทิร์น
  • อัลฟ่าของเครื่องหมายในช่วง [0, 1]

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

รับรหัสของเครื่องหมายนี้ ID จะไม่ซ้ำกันในเครื่องหมายทั้งหมดบนแผนที่

คิกรีเทิร์น
  • ID ของเครื่องหมายนี้

สาธารณะ LatLng getPosition ()

แสดงตำแหน่งของเครื่องหมาย

คิกรีเทิร์น
  • ออบเจ็กต์ LatLng ที่ระบุตำแหน่งปัจจุบันของเครื่องหมาย

ทศนิยมสาธารณะ getRotation ()

รับการหมุนของเครื่องหมาย

คิกรีเทิร์น
  • การหมุนเครื่องหมายเป็นองศาตามเข็มนาฬิกาจากตำแหน่งเริ่มต้น

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

รับตัวอย่างข้อมูลของเครื่องหมาย

คิกรีเทิร์น
  • สตริงที่มีข้อมูลโค้ดของเครื่องหมาย

ออบเจ็กต์สาธารณะ getTag ()

รับแท็กสำหรับตัวทำเครื่องหมาย

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

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

รับชื่อของเครื่องหมาย

คิกรีเทิร์น
  • สตริงที่มีชื่อของเครื่องหมาย

ทศนิยมสาธารณะ getZIndex ()

แสดง zIndex ของเครื่องหมาย

คิกรีเทิร์น
  • zIndex ของเครื่องหมายนี้

สาธารณะ int hashCode ()

โมฆะสาธารณะ hideInfoWindow ()

ซ่อนหน้าต่างข้อมูลหากแสดงจากเครื่องหมายนี้

วิธีนี้จะไม่มีผลหากมองไม่เห็นเครื่องหมายนี้

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

รับความสามารถในการลากของเครื่องหมาย เมื่อลากเครื่องหมายได้ ผู้ใช้จะย้ายเครื่องหมายได้โดยกดที่เครื่องหมายค้างไว้

คิกรีเทิร์น
  • true หากลากเครื่องหมายได้ หรือให้แสดง false

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

รับการตั้งค่าแบบแบนของมาร์กเกอร์

คิกรีเทิร์น
  • true หากเครื่องหมายอยู่บนแผนที่ false หากเครื่องหมายควรหันเข้าหากล้อง

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

ส่งคืนว่าหน้าต่างข้อมูลแสดงอยู่เหนือเครื่องหมายนี้หรือไม่ โดยไม่คำนึงว่าหน้าต่างข้อมูลจะปรากฏบนหน้าจอจริงๆ หรือไม่

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

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

คิกรีเทิร์น
  • การเปิดเผยเครื่องหมายนี้

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

ลบเครื่องหมายนี้ออกจากแผนที่ หลังจากนำเครื่องหมายออกแล้ว จะไม่มีการกำหนดลักษณะการทำงานของเมธอดทั้งหมด

สาธารณะ โมฆะ setAlpha (อัลฟ่าแบบลอย)

ตั้งค่าอัลฟ่า (ความทึบแสง) ของเครื่องหมาย ค่านี้มีค่าตั้งแต่ 0 ถึง 1 โดย 0 หมายความว่าเครื่องหมาย มีความโปร่งใสทั้งหมด และ 1 หมายความว่าเครื่องหมายทึบแสงสนิท

พารามิเตอร์
อัลฟ่า

Public void setAnchor (Float AnchorU, Float AnchorV)

กำหนดจุดยึดสำหรับเครื่องหมาย

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

ระบบจะระบุจุดยึดในพื้นที่ต่อเนื่อง [0.0, 1.0] x [0.0, 1.0] โดยที่ (0, 0) คือมุมซ้ายบนของรูปภาพ และ (1, 1) คือมุมขวาล่าง จุดยึดในรูปภาพ กว้าง x สูง คือจุดตารางกริดแต่ละจุดที่ใกล้เคียงที่สุดในตาราง (W + 1) x (H + 1) ที่ได้มาจากการปรับขนาดของการปัดเศษแล้ว เช่น ในรูปภาพขนาด 4 x 2 จุดยึด (0.7, 0.6) จะกลายเป็นจุดตารางที่ (3, 1)

 *-----+-----+-----+-----*
 |     |     |     |     |
 |     |     |     |     |
 +-----+-----+-----+-----+
 |     |     |   X |     |   (U, V) = (0.7, 0.6)
 |     |     |     |     |
 *-----+-----+-----+-----*
 *-----+-----+-----+-----*
 |     |     |     |     |
 |     |     |     |     |
 +-----+-----+-----X-----+   (X, Y) = (3, 1)
 |     |     |     |     |
 |     |     |     |     |
 *-----+-----+-----+-----*
 

พารามิเตอร์
anchorU พิกัด u ของจุดยึด เป็นอัตราส่วนของความกว้างของภาพ (ในช่วง [0, 1])
anchorV พิกัด v ของจุดยึด เป็นอัตราส่วนของความสูงของภาพ (ในช่วง [0, 1])

โมฆะสาธารณะ setDraggable (boolean draggable)

ตั้งค่าความสามารถในการลากของเครื่องหมาย เมื่อลากเครื่องหมายได้ ผู้ใช้จะย้ายเครื่องหมายได้โดยกดที่เครื่องหมายค้างไว้

พารามิเตอร์
ลากได้

โมฆะสาธารณะ setFlat (บูลีนแบบแบน)

ตั้งค่าว่าเครื่องหมายนี้ควรราบกับแผนที่ true หรือป้ายบิลบอร์ดที่หันเข้าหากล้อง false

พารามิเตอร์
แบน

โมฆะ สาธารณะ setIcon (BitmapDescriptor iconDescriptor)

กำหนดไอคอนสำหรับเครื่องหมาย

พารามิเตอร์
iconDescriptor หาก Null ระบบจะใช้ตัวทำเครื่องหมายเริ่มต้น

Public void setInfoWindowAnchor (Floor AnchorU, Float AnchorV)

ระบุจุดในรูปภาพเครื่องหมายที่จะตรึงหน้าต่างข้อมูลเมื่อแสดง ข้อมูลนี้ระบุอยู่ในระบบพิกัดเดียวกันกับสมอ ดูรายละเอียดเพิ่มเติมได้ที่ setAnchor(float, float) ค่าเริ่มต้นคือตรงกลางด้านบนของรูปภาพ

พารามิเตอร์
anchorU พิกัด u ของจุดยึดหน้าต่างข้อมูล เป็นอัตราส่วนของความกว้างของรูปภาพ (ในช่วง [0, 1])
anchorV พิกัด v ของจุดยึดหน้าต่างข้อมูล เป็นอัตราส่วนของความสูงของรูปภาพ (ในช่วง [0, 1])

Public void setPosition (LatLng latlng)

กำหนดตำแหน่งของเครื่องหมาย

พารามิเตอร์
Latlng

โมฆะสาธารณะ setRotation (การหมุนแบบลอย)

ตั้งค่าการหมุนของเครื่องหมายเป็นองศาตามเข็มนาฬิกาเกี่ยวกับจุดยึดของเครื่องหมาย โดยแกนของการหมุนจะตั้งฉากกับเครื่องหมาย การหมุน 0 จะตรงกับตำแหน่งเริ่มต้นของเครื่องหมาย

พารามิเตอร์
การหมุน

โมฆะสาธารณะ setSnippet (ข้อมูลโค้ดสตริง)

ตั้งค่าข้อมูลของเครื่องหมาย

พารามิเตอร์
ตัวอย่างข้อมูล หาก Null ข้อมูลโค้ดจะถูกล้าง

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

ตั้งค่าแท็กสำหรับตัวทำเครื่องหมาย

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

พารามิเตอร์
แท็ก หาก Null แท็กจะถูกล้าง

โมฆะสาธารณะ setTitle (ชื่อสตริง)

ตั้งชื่อของเครื่องหมาย

พารามิเตอร์
title หาก Null ระบบจะล้างชื่อ

โมฆะสาธารณะ setVisible (boolean visible)

ตั้งค่าการแสดงเครื่องหมายนี้ หากตั้งค่าเป็น false และขณะนี้หน้าต่างข้อมูลแสดงขึ้นสำหรับเครื่องหมายนี้ จะเป็นการซ่อนหน้าต่างข้อมูล

พารามิเตอร์
มองเห็นได้

สาธารณะ โมฆะ setZIndex (Float zIndex)

ตั้งค่า zIndex ของเครื่องหมาย

พารามิเตอร์
zIndex

โมฆะสาธารณะ showInfoWindow ()

แสดงหน้าต่างข้อมูลของเครื่องหมายนี้บนแผนที่ หากเครื่องหมายนี้ isVisible()

การขว้าง
IllegalArgumentException หาก marker ไม่อยู่ในแผนที่นี้