传单自定义投影

时间:2013-12-04 09:08:04

标签: leaflet

我从Leaflet开始,我正在尝试使用自定义投影(EPSG:23030)来展示来自WMS服务的图层。如果我不知道决议,我怎么能做到?我有这个代码,使用插件Proj4Leaflet,但它不起作用:

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);

2 个答案:

答案 0 :(得分:0)

如果省略分辨率/比例,它将默认为Leaflet的球形墨卡托实现使用的那些,这很可能非常适合其他预测。

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

  • 如果它是“真正的”WMS服务器,如GeoServer或类似服务器,您可以组成您喜欢的任何分辨率,并对您的用户有用。 WMS服务器将处理任何事情。
  • 如果它是带有WMS接口的切片缓存,例如GeoWebCache,则需要提供切片服务器配置中定义的分辨率(GWC术语中的网格集)

另请注意,对于切片缓存,您还必须提供网格集的原点,否则Leaflet的请求将不会与缓存的网格对齐。

答案 1 :(得分:0)

好的,我理解你,我试过这个:

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]                 
            }
    );

它有效。我的结论是,如果我不知道这些决议,我必须粗略地说出来。

由于