Code coverage report for src/geo/projection/Projection.SphericalMercator.js

Statements: 100% (6 / 6)      Branches: 100% (0 / 0)      Functions: 100% (2 / 2)      Lines: 100% (6 / 6)     

All files » src/geo/projection/ » Projection.SphericalMercator.js
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28        1       40           40   40       2       2      
/*
 * Spherical Mercator is the most popular map projection, used by EPSG:3857 CRS used by default.
 */
 
L.Projection.SphericalMercator = {
	MAX_LATITUDE: 85.0511287798,
 
	project: function (latlng) { // (LatLng) -> Point
		var d = L.LatLng.DEG_TO_RAD,
		    max = this.MAX_LATITUDE,
		    lat = Math.max(Math.min(max, latlng.lat), -max),
		    x = latlng.lng * d,
		    y = lat * d;
 
		y = Math.log(Math.tan((Math.PI / 4) + (y / 2)));
 
		return new L.Point(x, y);
	},
 
	unproject: function (point) { // (Point, Boolean) -> LatLng
		var d = L.LatLng.RAD_TO_DEG,
		    lng = point.x * d,
		    lat = (2 * Math.atan(Math.exp(point.y)) - (Math.PI / 2)) * d;
 
		return new L.LatLng(lat, lng);
	}
};