Leaflet 单张自定义投影

Leaflet 单张自定义投影,leaflet,Leaflet,我从宣传册开始,尝试用自定义投影(EPSG:23030)来展示WMS服务中的一个层。如果我不知道这些决议,我怎样才能作出决定?我有这段代码,使用插件proj4shaplex,但它不起作用: var crs23030 = new L.Proj.CRS('EPSG:23030','+proj=utm +zone=30 +ellps=intl +units=m +no_defs'); var map = new L.Map('map', { crs: crs23030 }); L.tileL

我从宣传册开始,尝试用自定义投影(EPSG:23030)来展示WMS服务中的一个层。如果我不知道这些决议,我怎样才能作出决定?我有这段代码,使用插件proj4shaplex,但它不起作用:

var crs23030 = new L.Proj.CRS('EPSG:23030','+proj=utm +zone=30 +ellps=intl +units=m +no_defs');
var map = new L.Map('map', {
    crs: crs23030
});

L.tileLayer.wms('http://www.juntadeandalucia.es/servicios/mapas/callejero/wms', {
    layers: 'CallejeroCompleto',
    format: 'image/jpeg',
    maxZoom: 13,
    minZoom: 0          
}).addTo(map);

map.setView(new L.LatLng(37.24344,-4.23522), 7);

如果忽略分辨率/比例,则默认为传单的球形墨卡托实现所使用的分辨率/比例,这很可能不适合其他投影

您使用的分辨率取决于底层磁贴服务器:

  • 如果它是一个“真正”的WMS服务器,比如GeoServer或类似的服务器,那么您可以制作任何您喜欢的、对用户有用的分辨率。WMS服务器将处理任何事情
  • 如果是具有WMS接口的磁贴缓存(如GeoWebCache),则需要提供磁贴服务器配置中定义的分辨率(GWC术语中的网格集)

另外请注意,对于磁贴缓存,您还必须提供网格集的原点,否则传单的请求将与缓存的网格不一致。

好的,我了解您的意思,我也尝试过:

var crs23030 = new L.Proj.CRS('EPSG:23030','+proj=utm +zone=30 +ellps=intl +units=m +no_defs',
            {
                resolutions: [1024, 512, 256, 128, 64, 32, 16, 8, 4, 2, 1, 0.5]                 
            }
    );
它是有效的。我的结论是,如果我不知道这些决议,我必须把它说得大概一点


谢谢

好的,那么尽管我不知道,但是否必须建立分辨率?是的,除非您想使用传单的默认值,否则分辨率和/或比例是必须的。