Как исправить ошибку при использовании Leaflet TileLayer.NoGap и стилизованных слоев WMS из GeoServer? - PullRequest
0 голосов
/ 07 февраля 2020

В правительственном учреждении есть слой WMS, и я хочу показать его на холсте для листовок.

Я добавляю этот код:

 var wmslayer = L.tileLayer.wms('http://localhost:8080/geoserver/depo/wms',{
                layers:'nep'
            }).addTo(mymap); 

Это отлично работает. Слой отображается. Теперь слой имеет два стиля: «brightbackground» и «darkbackground». Когда я открываю слой в QGIS, я могу выбрать и добавить любой стилизованный слой. Но когда я добавляю styles : 'darkbackground' к коду, например:

 var wmslayer = L.tileLayer.wms('http://localhost:8080/geoserver/depo/wms',{
                layers:'nep',
                styles:'darkbackground'
            }).addTo(mymap); 

, я получаю сообщение об ошибке: L.TileLayer.NoGap.js:224 Uncaught DOMException: Failed to execute 'drawImage' on 'CanvasRenderingContext2D': The HTMLImageElement provided is in the 'broken' state.

Если я закомментирую плагин "NoGap", я не Я не получаю никаких ошибок, но также не получаю никакого wms-слоя, если я не удалю styles : 'darkbackground'. Затем слой возвращается.

Есть идеи, как использовать стиль, который поставляется с WMS-слоем? Что я могу сделать в Geoserver? Или я могу подать это из любого другого места? Или есть какой-нибудь плагин, который может помочь?

У меня нет идей.

...