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


ภาพรวม

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

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

รับค่าจาก GMSDatasetFeatureLayer

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

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

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

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

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

- (instancetype) initWithFeatureType: (GMSFeatureType) featureType

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

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


เอกสารเกี่ยวกับพร็อพเพอร์ตี้

- (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
 }