laptop and a wrench

不具合

Map services are not drawn on web maps completely, leading to inaccurate feature count when performing a spatial selection.

最後に公開された状態: September 21, 2020 ArcGIS API for JavaScript
不具合 ID 番号 BUG-000131304
送信されましたJune 2, 2020
最終更新日June 5, 2024
適用対象ArcGIS API for JavaScript
見つかったバージョン3.32
オペレーティング システムWindows OS
オペレーティング システムのバージョン10.0 64 Bit
ステータスWill Not Be Addressed

参考情報

When a layer in a map service is used as feature layer in on-demand mode: 1. FL fetches less features per tile request because maxRecordCount is 2000 (whereas the layer has 4938 total features). 2. FL also applies feature generalization based on the current map scale. As a result, features that are too small after generalization have no coordinates at all. 3. When a selection query is executed for the full extent, only features that have coordinates match the query. So, only a subset of features are selected. 4. As you zoom in, number of features fetched and selected change because: number of request tiles changes, maxAllowableOffset changes. When layer in a feature service is used as feature layer in on-demand mode: 1. FL fetches more features per tile request because it uses resultType=tile and that increases the maxRecordCount to 4000 2. The layer is editable. So, feature generalization is disabled - resulting in features having all their coordinates regardless of map scale. 3. When selection query is executed for the full extent, all features available in memory match the query. This is the reason for the difference in feature count when selecting features in a map service layer versus a feature service layer. This can be fixed in couple of ways: 1. Configure the layer in "snapshot" mode so that the layer will fetch all features up front. An example is provided below, featureLayer = new FeatureLayer( "https://essanalytics.esri.com/server/rest/services/SMRoads/FeatureServer/0", { mode: FeatureLayer.MODE_SNAPSHOT } ); 2. Enable WebGL for the web application by setting "esri-featurelayer-webgl" has flag to true and configure the layer as not editable. An example is provided below: featureLayer = new FeatureLayer( "https://essanalytics.esri.com/server/rest/services/SMRoads/FeatureServer/0", { mode: FeatureLayer.MODE_ONDEMAND, outFields: ["*"], editable: false } );

対処法

  • Use a feature service.
  • If ArcGIS Web AppBuilder is used, use the map server URL instead of the layer URL. 

再現の手順

不具合 ID: BUG-000131304

ソフトウェア:

  • ArcGIS API for JavaScript

バグのステータスが変更されたときに通知を受け取る

Esri Support アプリのダウンロード

このトピックについてさらに調べる

ArcGIS エキスパートのサポートを受ける

テクニカル サポートへのお問い合わせ

Esri Support アプリのダウンロード

ダウンロード オプションに移動