ภาพรวม
เครื่องหมายคือไอคอนที่วางไว้ที่จุดใดจุดหนึ่งบนพื้นผิวของแผนที่
ไอคอนของตัวทำเครื่องหมายจะวาดตามแนวของหน้าจออุปกรณ์แทนที่จะเป็นพื้นผิวของแผนที่ กล่าวคือ อาจไม่จำเป็นต้องเปลี่ยนการวางแนวเนื่องจากการหมุน การเอียง หรือการซูมแผนที่
รับค่า GMSOverlay
รับค่าโดย GMSAdvancedMarker
ฟังก์ชันสมาชิกสาธารณะแบบคงที่ | |
(ประเภทอินสแตนซ์) | + markerWithPosition: |
ตัวสร้างความสะดวกสำหรับเครื่องหมายเริ่มต้น | |
(รูปภาพ UI *) | + markerImageWithColor: |
สร้างภาพตัวทำเครื่องหมายเริ่มต้นในเวอร์ชันแต้มสีเพื่อใช้เป็นไอคอน | |
พร็อพเพอร์ตี้ | |
CLLocationCoordinate2D | ตำแหน่ง |
ตำแหน่งเครื่องหมาย | |
NSString * | ตัวอย่างข้อมูล |
ตัวอย่างข้อมูลจะแสดงใต้ชื่อในหน้าต่างข้อมูลเมื่อเลือก | |
UIImage * | ไอคอน |
ไอคอนตัวทำเครื่องหมายที่จะแสดง | |
UIView * | iconView |
มุมมองตัวทำเครื่องหมายที่จะแสดง | |
บูลีน | tracksViewChanges |
ควบคุมว่าจะให้วาดไอคอนของเครื่องหมายนี้ใหม่ทุกเฟรมหรือไม่ | |
บูลีน | tracksInfoWindowChanges |
ควบคุมว่าจะให้วาดหน้าต่างข้อมูลของเครื่องหมายนี้ใหม่ทุกเฟรมหรือไม่ | |
CGPoint | groundAnchor |
จุดยึดพื้นจะกำหนดจุดในภาพไอคอนที่ยึดกับตำแหน่งของเครื่องหมายบนพื้นผิวโลก | |
CGPoint | infoWindowAnchor |
จุดยึดหน้าต่างข้อมูลจะระบุจุดในภาพไอคอนที่จะตรึงหน้าต่างข้อมูล ซึ่งจะปรากฏเหนือจุดนี้โดยตรง | |
GMSMarkerAnimation | appearAnimation |
ควบคุมภาพเคลื่อนไหวที่ใช้เมื่อวางเครื่องหมายนี้บน GMSMapView (ค่าเริ่มต้น kGMSMarkerAnimationNone ไม่ใช่ภาพเคลื่อนไหว) | |
บูลีน | ลากได้ |
ควบคุมว่าจะลากเครื่องหมายเชิงโต้ตอบนี้ได้หรือไม่ (ค่าเริ่มต้นคือ NO) | |
บูลีน | แนวราบ |
ควบคุมว่าเครื่องหมายนี้ควรราบกับพื้นผิวของโลก (ใช่) หรือป้ายบิลบอร์ดที่หันเข้าหากล้อง (NO, ค่าเริ่มต้น) | |
CLLocationDegrees | การหมุนเวียน |
ตั้งค่าการหมุนของเครื่องหมายเป็นองศาตามเข็มนาฬิกาเกี่ยวกับจุดยึดของเครื่องหมาย | |
float | ความทึบแสง |
ตั้งค่าความทึบของเครื่องหมายตั้งแต่ 0 (โปร่งใสทั้งหมด) และ 1 (ค่าเริ่มต้น) | |
GMSMarkerLayer * | เลเยอร์ |
ระบุเลเยอร์ภาพเคลื่อนไหวหลักของ GMSMarker นี้ | |
GMSPanoramaView * | panoramaView |
panoramaView จะระบุว่ามุมมองพาโนรามาใดจะพยายามแสดงเครื่องหมายนี้ | |
NSString * | ชื่อ [title] |
ชื่อ คำอธิบายสั้นๆ ของโฆษณาซ้อนทับ | |
GMSMapView * | แผนที่ |
แผนที่ที่ซ้อนทับนี้เปิดอยู่ | |
บูลีน | แตะได้ |
หากการวางซ้อนนี้ควรทำให้เกิดการแจ้งเตือนการแตะ | |
int | zIndex |
การวางซ้อนค่า zIndex ที่สูงกว่าจะถูกวาดทับบนเลเยอร์และการวางซ้อนของค่า zIndex ที่ต่ำกว่า | |
รหัส | userData |
ข้อมูลซ้อนทับ |
เอกสารประกอบเกี่ยวกับฟังก์ชันสมาชิก
+ (instancetype) markerWithPosition: | (CLLocationCoordinate2D) | ตำแหน่ง |
ตัวสร้างความสะดวกสำหรับเครื่องหมายเริ่มต้น
+ (UIImage *) markerImageWithColor: | (nullable UIColor *) | สี [color] |
สร้างภาพตัวทำเครื่องหมายเริ่มต้นในเวอร์ชันแต้มสีเพื่อใช้เป็นไอคอน
เอกสารประกอบเกี่ยวกับอสังหาริมทรัพย์
- (CLLocationCoordinate2D) ตำแหน่ง [read, write, assign] |
ตำแหน่งเครื่องหมาย
ภาพเคลื่อนไหว
- (NSString*) ข้อมูลโค้ด [read, write, copy]
|
ตัวอย่างข้อมูลจะแสดงใต้ชื่อในหน้าต่างข้อมูลเมื่อเลือก
- ไอคอน (UIImage*) [read, write, assign] |
ไอคอนตัวทำเครื่องหมายที่จะแสดง
หากปล่อยว่างไว้ ให้ใช้ตัวทำเครื่องหมายสถานที่ SDK เริ่มต้น
สนับสนุนภาพเคลื่อนไหว แต่แต่ละเฟรมต้องมีขนาดเท่ากันหรือไม่กำหนดลักษณะการทํางาน
รองรับการใช้alignRectInsets เพื่อระบุพื้นที่การแตะที่ลดลง และยังกำหนดวิธีระบุแท็ก Anchor ใหม่ด้วย สำหรับภาพเคลื่อนไหว ระบบจะใช้ค่าของภาพเคลื่อนไหว ไม่ใช่แต่ละเฟรม
- (UIView*) iconView [read, write, assign] |
มุมมองตัวทำเครื่องหมายที่จะแสดง
หากเป็นค่าว่าง ให้กลับไปที่พร็อพเพอร์ตี้ icon
แทน
รองรับภาพเคลื่อนไหวของคุณสมบัติที่เคลื่อนไหวได้ทั้งหมดของ UIView ยกเว้น frame
และ center
ไม่รองรับการเปลี่ยนคุณสมบัติเหล่านี้หรือเวอร์ชัน CALayer ที่เกี่ยวข้อง รวมถึง position
โปรดทราบว่าข้อมูลพร็อพเพอร์ตี้จะทํางานเหมือนตั้งค่า clipsToBounds
เป็น "ใช่" โดยไม่คำนึงถึงค่าจริง
- (BOOL) tracksViewChanges [read, write, assign] |
ควบคุมว่าจะให้วาดไอคอนของเครื่องหมายนี้ใหม่ทุกเฟรมหรือไม่
โปรดทราบว่าเมื่อเปลี่ยนค่าจาก "ไม่" เป็น "ใช่" จะทำให้ไอคอนถูกวาดใหม่ในเฟรมถัดไป
ค่าเริ่มต้นคือ "ใช่" จะไม่มีผลหาก iconView
เป็นค่าว่าง
- (BOOL) tracksInfoWindowChanges [read, write, assign] |
ควบคุมว่าจะให้วาดหน้าต่างข้อมูลของเครื่องหมายนี้ใหม่ทุกเฟรมหรือไม่
โปรดทราบว่าเมื่อค่านี้เปลี่ยนจาก "ไม่" เป็น "ใช่" แล้ว รับประกันได้ว่าจะมีการวาดหน้าต่างข้อมูลเฟรมถัดไปขึ้นใหม่
ค่าเริ่มต้นคือ NO
- (CGPoint) groundAnchor [read, write, assign] |
จุดยึดพื้นจะกำหนดจุดในภาพไอคอนที่ยึดกับตำแหน่งของเครื่องหมายบนพื้นผิวโลก
จุดนี้ระบุอยู่ในพื้นที่ต่อเนื่อง [0.0, 1.0] x [0.0, 1.0] โดยที่ (0,0) คือมุมซ้ายบนของรูปภาพ และ (1,1) คือมุมล่างขวา
หากรูปภาพมีAlignRectInsets ที่ไม่เป็น 0 ทางด้านบนซ้ายและขวาล่างที่กล่าวถึงข้างต้นจะหมายถึงส่วนที่ฝังอยู่ในรูปภาพ
- (CGPoint) infoWindowAnchor [read, write, assign] |
จุดยึดหน้าต่างข้อมูลจะระบุจุดในภาพไอคอนที่จะตรึงหน้าต่างข้อมูล ซึ่งจะปรากฏเหนือจุดนี้โดยตรง
จุดนี้ระบุภายในช่องว่างเดียวกับ groundAnchor
- (GMSMarkerAnimation) appearAnimation [read, write, assign] |
ควบคุมภาพเคลื่อนไหวที่ใช้เมื่อวางเครื่องหมายนี้บน GMSMapView (ค่าเริ่มต้น kGMSMarkerAnimationNone ไม่ใช่ภาพเคลื่อนไหว)
- (BOOL) ลากได้ [read, write, assign] |
ควบคุมว่าจะลากเครื่องหมายเชิงโต้ตอบนี้ได้หรือไม่ (ค่าเริ่มต้นคือ NO)
- (BOOL) แนวราบ [read, write, assign] |
ควบคุมว่าเครื่องหมายนี้ควรราบกับพื้นผิวของโลก (ใช่) หรือป้ายบิลบอร์ดที่หันเข้าหากล้อง (NO, ค่าเริ่มต้น)
- (CLLocationDegrees) การหมุนเวียน [read, write, assign] |
ตั้งค่าการหมุนของเครื่องหมายเป็นองศาตามเข็มนาฬิกาเกี่ยวกับจุดยึดของเครื่องหมาย
แกนของการหมุนจะตั้งฉากกับเครื่องหมาย การหมุน 0 จะตรงกับตำแหน่งเริ่มต้นของเครื่องหมาย ภาพเคลื่อนไหว
เมื่อเครื่องหมายอยู่ในแนวราบบนแผนที่ ตำแหน่งเริ่มต้นจะเป็นแนวทิศเหนือ และการหมุนจะทำให้เครื่องหมายยังคงเป็นแนวราบบนแผนที่เสมอ เมื่อเครื่องหมายเป็นป้ายโฆษณา ตำแหน่งเริ่มต้นจะชี้ขึ้นและการหมุนจะทำให้เครื่องหมายหันเข้าหากล้องเสมอ
- (แบบลอย) ความทึบแสง [read, write, assign] |
ตั้งค่าความทึบของเครื่องหมายตั้งแต่ 0 (โปร่งใสทั้งหมด) และ 1 (ค่าเริ่มต้น)
- (GMSMarkerLayer*) เลเยอร์ [read, assign] |
ระบุเลเยอร์ภาพเคลื่อนไหวหลักของ GMSMarker นี้
- (GMSPanoramaView*) panoramaView [read, write, assign] |
panoramaView
จะระบุว่ามุมมองพาโนรามาใดจะพยายามแสดงเครื่องหมายนี้
โปรดทราบว่าหากเครื่องหมาย position
ของเครื่องหมายอยู่ไกลจากตำแหน่งพาโนรามาปัจจุบันของpanoramaView
มากเกินไป เครื่องหมายดังกล่าวจะไม่แสดงเนื่องจากจะมีขนาดเล็กเกินไป
สามารถตั้งค่าเป็น nil เพื่อลบเครื่องหมายออกจากมุมมองพาโนรามาปัจจุบันที่จุดแนบอยู่
เครื่องหมายสามารถแสดงบนทั้งพาโนรามาและแผนที่ในเวลาเดียวกัน
- (NSString*) title [read, write, copy, inherited] |
ชื่อ คำอธิบายสั้นๆ ของโฆษณาซ้อนทับ
การวางซ้อนบางอย่าง เช่น เครื่องหมาย จะแสดงชื่อบนแผนที่ ชื่อนี้จะเป็นข้อความการช่วยเหลือพิเศษเริ่มต้นด้วย
- (GMSMapView*) แผนที่ [read, write, assign, inherited] |
แผนที่ที่ซ้อนทับนี้เปิดอยู่
การตั้งค่าคุณสมบัตินี้จะเพิ่มภาพซ้อนทับลงในแผนที่ การตั้งค่าเป็น nil จะนำการซ้อนทับนี้ออกจากแผนที่ ภาพซ้อนทับสามารถแสดงบนแผนที่ได้ไม่เกิน 1 รายการในช่วงเวลาใดเวลาหนึ่ง
- (BOOL) แตะได้ [read, write, assign, inherited] |
หากการวางซ้อนนี้ควรทำให้เกิดการแจ้งเตือนการแตะ
การวางซ้อนบางอย่าง เช่น เครื่องหมาย จะแตะได้โดยค่าเริ่มต้น
- (int) zIndex [read, write, assign, inherited] |
การวางซ้อนค่า zIndex
ที่สูงกว่าจะถูกวาดทับบนเลเยอร์และการวางซ้อนของค่า zIndex
ที่ต่ำกว่า
ค่าที่เท่ากันจะทำให้เกิดลำดับการวาดที่ไม่ได้กำหนดไว้ เครื่องหมายมีข้อยกเว้นว่าโดยไม่คำนึงถึง zIndex
เครื่องหมายจะถูกวาดไว้เหนือเลเยอร์ไทล์และการวางซ้อนอื่นๆ ที่ไม่ใช่เครื่องหมายเสมอ เครื่องหมายเหล่านี้จะถือว่าอยู่ในกลุ่ม z ที่แยกต่างหากเมื่อเทียบกับการวางซ้อนอื่นๆ
- (รหัส) userData [read, write, assign, inherited] |
ข้อมูลซ้อนทับ
คุณสามารถใช้พร็อพเพอร์ตี้นี้เพื่อเชื่อมโยงออบเจ็กต์ที่กําหนดเองกับการวางซ้อนนี้ Google Maps SDK สำหรับ iOS จะไม่อ่านและเขียนพร็อพเพอร์ตี้นี้
โปรดทราบว่า userData ไม่ควรมีการอ้างอิงที่สำคัญไปยังวัตถุใน Maps มิฉะนั้นอาจมีการสร้างรอบการเก็บรักษา (ป้องกันไม่ให้ปล่อยวัตถุ)