aboutsummaryrefslogtreecommitdiffstats
path: root/extlib/leaflet/src/geo/projection/Projection.SphericalMercator.js
blob: be0532ff99ca1d8ff16df07acaa16a223bef6368 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
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*/ unbounded) /*-> 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, unbounded);
	}
};