GMSFeatureLayer クラス リファレンス

GMSFeatureLayer クラス リファレンス

概要

同じ GMSFeatureType のすべての対象物のコレクションを表すクラスで、そのスタイルはクライアントでオーバーライドできます。

GMSFeatureType には、対応する GMSFeatureLayer が 1 つあります。

公開メンバー関数

(instancetype)- initWithFeatureType:
 テスト用に対象物レイヤのインスタンスを作成します。

プロパティ

GMSFeatureTypefeatureType
 このレイヤに関連付けられている対象物タイプ。
BOOL 利用可能
 データドリブンの GMSFeatureLayer が使用可能かどうかを確認します。
GMSFeatureStyle *_Nullable(^)(T)スタイル
 このレイヤ内のすべての対象物に適用されるスタイル設定ブロック。

メンバー関数のドキュメント

-(instancetype)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]

このレイヤ内のすべての対象物に適用されるスタイル設定ブロック。

スタイル ブロックは、セッターが呼び出されるとビューポートにあるすべての対象物に適用され、後続の対象物がビューポートに入る際に複数回実行されます。

この関数は決定論的であり、地図タイルに適用したときに一貫した結果を返す必要があります。対象物のスタイル設定が変更される場合は、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
 }