FAQ
ArcGIS Maps SDK for JavaScript : レイヤーのフィルター設定
ナレッジ番号:5609 | 登録日:2023/08/15 | 更新日:2024/11/21
概要
ArcGIS Maps SDK for JavaScript の MapImageLayer クラスや FeatureLayer クラスは、 特定の条件に合ったフィーチャのみ表示させるフィルター設定をすることができます。実装
MapImageLayer
MapImageLayer クラスの場合、各サブレイヤーの definitionExpression プロパティを使用してレイヤーフィルターを設定しています。
サブレイヤーの取得はマップ サービスに含まれるレイヤーの配列を設定することで実装できます。
サンプルコード:require([ "esri/Map", "esri/views/MapView", "esri/layers/MapImageLayer", ], function( Map, MapView, MapImageLayer ) { const map = new Map({ basemap: "topo-vector" }); const view = new MapView({ container: "viewDiv", map: map, center: [-120, 37], zoom: 6 }); // MapImageLayer を作成します let usaLayer = new MapImageLayer({ url: "https://sampleserver6.arcgisonline.com/arcgis/rest/services/USA/MapServer" }); // definitionExpression プロパティに条件式を設定し、サブレイヤーごとにフィルターの条件を設定します。 // id プロパティの番号は、マップ サービスに含まれるサブレイヤーのインデックス番号と対応しています。 usaLayer.sublayers = [{ id: 3, definitionExpression: "state_name = 'California'" }, { id: 0, definitionExpression: "pop2000 > 100000" }, ] map.add(usaLayer); });
FeatureLayer
FeatureLayer クラスの場合、definitionExpression プロパティにフィルターの条件を指定することで実装できます。
サンプルコード:require([ "esri/Map", "esri/views/MapView", "esri/layers/FeatureLayer", ], function( Map, MapView, FeatureLayer ) { const map = new Map({ basemap: "topo-vector" }); const view = new MapView({ container: "mapDiv", map: map, center: [-120, 37], zoom: 6 }); // FeatureLayer を作成します const usaLayer = new FeatureLayer({ url: "https://sampleserver6.arcgisonline.com/arcgis/rest/services/USA/MapServer/3" }); // フィルターの条件を設定します usaLayer.definitionExpression = "state_name = 'California'"; // カリフォルニア州を表示 map.add(usaLayer); });
メタデータ
機能
種類
製品