GMSFeatureLayer 類別參考資料
總覽
代表相同 GMSFeatureType
所有地圖項目的集合的類別,此類別可在用戶端上覆寫其樣式。
每個 GMSFeatureType
都會有對應的 GMSFeatureLayer
。
公開成員函式 | |
(instancetype) | - initWithFeatureType: |
建立用於測試的特徵層執行個體。 | |
房源 | |
GMSFeatureType | featureType |
與這個圖層相關聯的地圖項目類型。 | |
BOOL | 可用 |
判斷是否可以使用以數據為準的 GMSFeatureLayer 。 | |
GMSFeatureStyle *_Nullable(^)(T) | 風格 |
這個圖層中所有地圖項目的樣式區塊。 |
成員職能說明文件
- (執行個體類型) initWithFeatureType: | (GMSFeatureType) | featureType |
建立用於測試的特徵層執行個體。
這個方法應僅用於單元測試。在實際工作環境中,GMSFeatureLayer
執行個體僅須由 SDK 建立。
屬性說明文件
- (GMSFeatureType) featureType [read, assign] |
與這個圖層相關聯的地圖項目類型。
與該圖層相關聯的所有地圖項目都會屬於這個類型。
- (BOOL) 可使用 [read, assign] |
判斷是否可以使用以數據為準的 GMSFeatureLayer
。
如要使用資料導向樣式,必須採用 Metal Framework、有效的地圖 ID,並套用地圖項目類型。如果為 NO
,GMSFeatureLayer
的樣式會返回預設,且不會觸發事件。
- (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 }