GMSFeatureLayer 類別參考資料

GMSFeatureLayer 類別參考資料

總覽

代表相同 GMSFeatureType 所有地圖項目的集合的類別,此類別可在用戶端上覆寫其樣式。

每個 GMSFeatureType 都會有對應的 GMSFeatureLayer

繼承自 GMSDatasetFeatureLayer

公開成員函式

(instancetype)- initWithFeatureType:
 建立用於測試的特徵層執行個體。

資源

GMSFeatureTypefeatureType
 與這個圖層相關聯的地圖項目類型。
BOOL可用
 判斷是否可以使用以數據為準的 GMSFeatureLayer
GMSFeatureStyle *_Nullable(^)(T)風格
 這個圖層中所有地圖項目的樣式區塊。

成員職能說明文件

- (執行個體類型) initWithFeatureType: (GMSFeatureType) featureType

建立用於測試的特徵層執行個體。

這個方法應僅用於單元測試。在實際工作環境中,GMSFeatureLayer 執行個體僅須由 SDK 建立。


屬性說明文件

- (GMSFeatureType) featureType [read, assign]

與這個圖層相關聯的地圖項目類型。

與該圖層相關聯的所有地圖項目都會屬於這個類型。

- (BOOL) 可使用 [read, assign]

判斷是否可以使用以數據為準的 GMSFeatureLayer

如要使用資料導向樣式,必須採用 Metal Framework、有效的地圖 ID,並套用地圖項目類型。如果為 NOGMSFeatureLayer 的樣式會返回預設,且不會觸發事件。

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

這個圖層中所有地圖項目的樣式區塊。

呼叫 setter 時,樣式區塊會套用至可視區域中所有可見的地圖項目,且會為後續進入可視區域的地圖項目多次執行。

對地圖方塊套用該函式時,此函式必須是確定性,並傳回一致的結果。如果變更任何地圖項目的樣式規格,就必須重新設定 style。如果在未呼叫 style setter 的情況下變更樣式區塊的行為,會導致未定義的行為,包括過時和/或毀損的地圖算繪結果。請參考以下範例:

 {.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
 }