Bug-ID-Nummer |
BUG-000163573 |
Eingereicht | December 8, 2023 |
Zuletzt geändert | December 6, 2024 |
Gilt für | ArcGIS Maps SDK for JavaScript |
Gefunden in Version | 4.28 |
Betriebssystem | Windows OS |
Betriebssystemversion | 11.0 64 bit |
Status | Known Limit
Nach Überprüfung durch das Entwicklungsteam wurde festgestellt, dass dieses Problem im Zusammenhang mit einer bekannten Einschränkung der Software steht, die außerhalb der Kontrolle von Esri liegt. Weitere Erläuterungen finden Sie ggf. im Abschnitt "Zusätzliche Informationen" des jeweiligen Problems.
|
Zusätzliche Informationen
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];
}
Schritte zur Reproduzierung