Leaflet projections and WMS
by Leo
HTML
<script src="https://rawgit.com/proj4js/proj4js/master/dist/proj4-src.js"></script>
<script src="https://rawgit.com/gorshkov-leonid/Leaflet/master/dist/leaflet-src.js"></script>
<link rel="stylesheet" href="https://rawgit.com/gorshkov-leonid/Leaflet/master/dist/leaflet.css">
<script src="https://rawgit.com/kartena/Proj4Leaflet/leaflet-proj-refactor/src/proj4leaflet.js"></script>
<div id="map"></div>
CSS
body {
height: 100%;
width: 100%;
}
#map {
position: absolute;
top: 0;
bottom: 0px;
right: 0px;
left: 0px;
width: 100%;
height: 100%;
}
JavaScript
function z(unitsPerPx){
return unitsPerPx;
//return 40075017 / 256 / Math.pow(2, zoom);
}
var L = window.L;
var crs = new L.Proj.CRS('EPSG:3395', '+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs', {
origin: [1560538.36947, 6371678.05835],
bounds: L.bounds([1560538.36947, 6371678.05835], [1655931.78077,
6502973.40129]),
resolutions: [
z(512.872433359),
z(256.43621668),
z(128.21810834),
z(64.1090541699),
z(32.054527085),
z(16.0272635425),
z(8.01363177124),
z(4.00681588562),
z(2.00340794281),
z(1.00170397141),
z(0.500851985703),
z(0.25042599285),
z(0.125212996426),
z(0.0626064982128),
z(0.0313032491064),
z(0.0156516245532),
z(0.0078258122766),
z(0.0039129061383),
z(0.00195645306915),
z(0.000978226534575)
]
});
var map = new L.Map('map', {
crs: crs,
minZoom: 0, //??
maxZoom: 19 //??
}).setView([50.08861, 14.42139], 7);
L.tileLayer('http://mapserver01.netcracker.com/tms/1.0.0/wms_prague_EPSG3395/{z}/{x}/{y}.png', {
maxZoom: 19,
minZoom: 1, //??
tms: true
}).addTo(map);