ภาพรวม
คลาสที่แสดงคอลเล็กชันฟีเจอร์ทั้งหมดของ GMSFeatureType
เดียวกัน ซึ่งสามารถลบล้างสไตล์ในไคลเอ็นต์ได้
GMSFeatureType
แต่ละรายการจะมี GMSFeatureLayer
ที่เกี่ยวข้อง 1 รายการ
รับค่าจาก GMSDatasetFeatureLayer
ฟังก์ชันสมาชิกสาธารณะ | |
(instancetype) | - initWithFeatureType: |
สร้างอินสแตนซ์เลเยอร์ฟีเจอร์สำหรับการทดสอบ | |
ที่พัก | |
GMSFeatureType | featureType |
ประเภทองค์ประกอบที่เชื่อมโยงกับเลเยอร์นี้ | |
บูลีน | พร้อมใช้งาน |
กำหนดว่า 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 }