laptop and a wrench

Bug

In ArcGIS Maps SDK for JavaScript 4.28, the properties of a WMSSubLayer like minScale and maxScale can only be read correctly if the SubLayer is added subsequently.

ArcGIS Maps SDK for JavaScript
Bug ID Number BUG-000163573
SubmittedDecember 8, 2023
Last ModifiedDecember 6, 2024
Applies toArcGIS Maps SDK for JavaScript
Version found4.28
Operating SystemWindows OS
Operating System Version11.0 64 bit
StatusKnown Limit

Additional Information

When assigning a value to WMSLayer.sublayers at layer initialization, it essentially overwrites the layer's sublayers discovered from the service's get capabilities response. Unless specified, all sublayer properties are set to their default values, instead of the values found in the service. The solution is to wait for the layer to load and then 'turn off' the undesired sublayers. This ensures that all sublayer properties, like minScale and maxScale, are imported from the layer's get capabilities response. For example: const wmsLayer = new WMSLayer({   url: "your-url-here" }); await wmsLayer.load(); const sublayer = wmsLayer.findSublayerByName("my-sublayer-name"); if (sublayer) { // check if sublayer exists   wmsLayer.sublayers = [sublayer]; // only show desired sublayer } map.add(wmsLayer); The team plans to update the documentation to make this more clear.

Workaround

Add the WMSSubLayer subsequently.

For example: const wmsLayer = new WMSLayer({ url: "your-url-here" }); await wmsLayer.load(); const sublayer = wmsLayer.findSublayerByName("my-sublayer-name"); if (sublayer) { // check if sublayer exists wmsLayer.sublayers = [sublayer]; }

Steps to Reproduce

Bug ID: BUG-000163573

Software:

  • ArcGIS Maps SDK for JavaScript

Get notified when the status of a bug changes

Download the Esri Support App

Discover more on this topic

Get help from ArcGIS experts

Contact technical support

Download the Esri Support App

Go to download options