總覽
代表相同 GMSFeatureType
所有地圖項目的集合,其樣式可在用戶端上覆寫。
每個 GMSFeatureType
都有一個對應的 GMSFeatureLayer
。
公開成員函式 | |
(instancetype) | - initWithFeatureType: |
建立測試用的特徵層執行個體。 | |
資源 | |
GMSFeatureType | featureType |
與這個圖層相關聯的地圖項目類型。 | |
BOOL | 可用 |
決定資料導向的 GMSFeatureLayer 是否可用。 | |
GMSFeatureStyle *_Nullable(^)(T) | 樣式 |
要套用至這個圖層所有地圖項目的樣式區塊。 |
成員函式說明文件
- (instancetype) initWithFeatureType: | (GMSFeatureType) | featureType |
建立測試用的特徵層執行個體。
這個方法僅適用於單元測試。在實際工作環境中,GMSFeatureLayer
執行個體只能由 SDK 建立。
資源說明文件
- (GMSFeatureType) featureType [read, assign] |
與這個圖層相關聯的地圖項目類型。
與圖層相關聯的所有地圖項目都會屬於這個類型。
- (BOOL) 可使用 [read, assign] |
決定資料導向的 GMSFeatureLayer
是否可用。
如要使用資料導向樣式,必須使用 Metal 架構、有效的地圖 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 }