GMSFeatureLayer クラス リファレンス

GMSFeatureLayer クラス リファレンス

概要

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

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

GMSDatasetFeatureLayer により継承されます。

パブリック メンバーの関数

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

プロパティ

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

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

- (instancetype) initWithFeatureType: GMSFeatureType featureType

テスト用の対象物レイヤ インスタンスを作成します。

このメソッドは単体テストにのみ使用してください。本番環境では、GMSFeatureLayer インスタンスは SDK でのみ作成する必要があります。


プロパティのドキュメント

-(GMSFeatureTypefeatureType [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
 }