Hay varios problemas aquí.
Primero, permítanme citar de http://leafletjs.com/examples/wms/wms.html (el énfasis es mío):
También tenga en cuenta que la ficha soportes muy pocos sistemas de coordenadas: CRS:3857
, CRS:3395
y CRS:4326
(consulte la documentación de L.CRS
). Si su servicio WMS no sirve imágenes en esos sistemas de coordenadas, es posible que necesite usar Proj4Leaflet para usar un sistema de coordenadas diferente en Leaflet. Aparte de eso, solo use el CRS correcto al inicializar su mapa, y cualquier capa WMS agregada lo usará :
var map = L.map('map', {
crs: L.CRS.EPSG4326
});
var wmsLayer = L.tileLayer.wms('http://demo.opengeo.org/geoserver/ows?', {
layers: 'nasa:bluemarble'
}).addTo(map);
El código en su violín hace lo contrario, especifica el CRS como una opción para la capa wms, en lugar de como una opción para el mapa:
wmsBKLayer = new L.tileLayer.wms('http://eumetview.eumetsat.int/geoserv/wms', {
layers: 'bkg-raster:bkg-raster',
crs: customCRS
}
var map = new L.map('map', {
// No CRS option here!!
});
Especifique el CRS en las opciones del mapa , y debería estar bien.
Segundo, instanciación de objetos. El folleto utiliza camelCase con la primera letra mayúscula para las clases (por ejemplo, L.TileLayer
es una clase) y camelCase que comienza con letras minúsculas para los métodos de fábrica (por ejemplo, L.tileLayer
es un método de fábrica).
var foo = L.tileLayer(...); // Preferred
var foo = new L.TileLayer(...); // OK, but not preferred
var foo = L.TileLayer(...); // Nope, one cannot call a class
var foo = new L.tileLayer(...); // Nope nope nope nope, one cannot create an instance of a factory
Lea « /programming/8698726/constructor-function-vs-factory-functions » si le resulta confuso.
Tercero, citando https://kartena.github.io/Proj4Leaflet/ :
¿Está utilizando Leaflet 1.0 beta 1 o versiones de desarrollo de Leaflet? Entonces necesita usar la rama de desarrollo de Proj4Leaflet.
Esto significa que no hay una versión lanzada de proj4leaflet que funcione con Leaflet 1.
En su violín, está utilizando Leaflet 1.0.2 y proj4leaflet 0.7.2. Esos simplemente no funcionarán juntos.
Utilice una versión inferior de Leaflet o cree (e implemente y use) una versión más nueva de proj4leaflet. Tenga en cuenta que proj4leaflet podría necesitar un poco de ayuda con su mantenimiento, ya que @liedman ya no puede soportarlo.
Si tiene tiempo, le sugiero que se ponga en contacto con los mantenedores actuales, para ayudarlo con una nueva versión compatible con Leaflet 1.0.0.
Si uno aborda estos tres problemas, todo volverá a funcionar. Vea un ejemplo de trabajo en:
https://playground-leaflet.rhcloud.com/giwo/edit?html,output