GMSFeatureLayer 類別參考資料

GMSFeatureLayer 類別參考

總覽

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

每個 GMSFeatureType 都有一個對應的 GMSFeatureLayer

公開成員函式

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

資源

GMSFeatureTypefeatureType
 與這個圖層相關聯的地圖項目類型。
BOOL可用
 決定資料導向的 GMSFeatureLayer 是否可用。
GMSFeatureStyle *_Nullable(^)(T)樣式
 要套用至這個圖層所有地圖項目的樣式區塊。

成員函式說明文件

- (instancetype) initWithFeatureType: (GMSFeatureType) featureType

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

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


資源說明文件

- (GMSFeatureType) featureType [read, assign]

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

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

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

決定資料導向的 GMSFeatureLayer 是否可用。

如要使用資料導向樣式,必須使用 Metal 架構、有效的地圖 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
 }