web-dev-qa-db-ja.com

Openlayers 3でベクターレイヤーからフィーチャを取得する方法

ベクターレイヤーからフィーチャを取得しようとしています。ベクターレイヤーは、Geoserverを介して読み込まれたGeoJSONドキュメントから構成されます。 vector.featuresを試しましたが、無駄でした。誰でもこれを助けることができますか?

14
ThisIsJ

OL3のアーキテクチャは、レイヤーとそのソースを区別します。そのため、レイヤーの機能にアクセスするには、まずレイヤーのソースにアクセスする必要があります。これは次の方法で行われます。

var source = layer.getSource();

ベクターレイヤーの場合は、ol.source.Vectorオブジェクトを取得します。このオブジェクトから、次の方法で機能にアクセスできます。

var features = source.getFeatures();

さらに、getFeatureById(id)またはgetFeaturesAtCoordinate(coordinate)を介して特別な機能にアクセスする可能性があります。詳細については、APIドキュメントを参照してください http://openlayers.org/en/v3.4.0/apidoc/ol.source.Vector.html

25
jacmendt