การอ้างอิงคลาส GMSFeatureLayer


ภาพรวม

คลาสที่แสดงถึงคอลเล็กชันของฟีเจอร์ทั้งหมดของ GMSFeatureType เดียวกัน ซึ่งรูปแบบที่ลบล้างได้ในไคลเอ็นต์ได้

GMSFeatureType แต่ละรายการจะมี GMSFeatureLayer ที่เกี่ยวข้อง 1 รายการ

ฟังก์ชันสมาชิกแบบสาธารณะ

(อินสแตนซ์ประเภท)- initWithFeatureType:
 สร้างอินสแตนซ์เลเยอร์ของฟีเจอร์สำหรับการทดสอบ

พร็อพเพอร์ตี้

ประเภท GMSFeaturefeatureType
 ประเภทสถานที่ที่เชื่อมโยงกับเลเยอร์นี้
บูลีนพร้อมใช้งาน
 ระบุว่า GMSFeatureLayer ที่มาจากข้อมูลพร้อมใช้งานหรือไม่
GMSFeatureStyle *_Nullable(^)(T)สไตล์
 การจัดรูปแบบบล็อกที่จะใช้กับสถานที่ทั้งหมดในเลเยอร์นี้

เอกสารประกอบเกี่ยวกับฟังก์ชันของสมาชิก

- (อินสแตนซ์) initWithFeatureType: (GMSFeatureType) featureType

สร้างอินสแตนซ์เลเยอร์ของฟีเจอร์สำหรับการทดสอบ

วิธีการนี้ควรใช้กับการทดสอบ 1 หน่วยเท่านั้น ในเวอร์ชันที่ใช้งานจริง ควรสร้างอินสแตนซ์ GMSFeatureLayer รายการโดย SDK เท่านั้น


เอกสารประกอบเกี่ยวกับอสังหาริมทรัพย์

- (GMSFeatureType) featureType [read, assign]

ประเภทสถานที่ที่เชื่อมโยงกับเลเยอร์นี้

จุดสนใจทั้งหมดที่เชื่อมโยงกับเลเยอร์จะเป็นประเภทนี้

- (BOOL) พร้อมใช้งาน [read, assign]

ระบุว่า GMSFeatureLayer ที่มาจากข้อมูลพร้อมใช้งานหรือไม่

การจัดรูปแบบจากข้อมูลต้องใช้กรอบโลหะ รหัสแผนที่ที่ถูกต้อง และประเภทฟีเจอร์ที่ใช้ หากเป็น NO การจัดรูปแบบสำหรับ GMSFeatureLayer จะกลับไปเป็นค่าเริ่มต้นและจะไม่มีการทริกเกอร์เหตุการณ์

- (GMSFeatureStyle* _Nullable(^ style)(T)) [read, write, assign]

การจัดรูปแบบบล็อกที่จะใช้กับสถานที่ทั้งหมดในเลเยอร์นี้

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

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

 {.swift}
 var selectedPlaceIDs = Set<String>()
 var style = FeatureStyle(fill: .red, stroke: .clear, strokeWidth: 0)
 layer.style = { feature in
   selectedPlaceIDs.contains(feature.placeID) ? style : nil
 }


 selectedPlaceIDs.insert("foo")

 style = FeatureStyle(fill: .clear, stroke: .blue, strokeWidth: 1.5)


 layer.style = { feature in
   selectedPlaceIDs.contains(feature.placeID) ? style : nil
 }