From c5ba5b0456a711d157e317f220e9c739226e7f50 Mon Sep 17 00:00:00 2001 From: Joar Wandborg Date: Tue, 10 Jan 2012 01:54:37 +0100 Subject: Installed leaflet in extlib --- extlib/leaflet/src/geo/LatLng.js | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 extlib/leaflet/src/geo/LatLng.js (limited to 'extlib/leaflet/src/geo/LatLng.js') diff --git a/extlib/leaflet/src/geo/LatLng.js b/extlib/leaflet/src/geo/LatLng.js new file mode 100644 index 00000000..fb916547 --- /dev/null +++ b/extlib/leaflet/src/geo/LatLng.js @@ -0,0 +1,35 @@ +/* + CM.LatLng represents a geographical point with latitude and longtitude coordinates. +*/ + +L.LatLng = function(/*Number*/ lat, /*Number*/ lng, /*Boolean*/ noWrap) { + if (noWrap !== true) { + lat = Math.max(Math.min(lat, 90), -90); // clamp latitude into -90..90 + lng = (lng + 180) % 360 + (lng < -180 ? 180 : -180); // wrap longtitude into -180..180 + } + + //TODO change to lat() & lng() + this.lat = lat; + this.lng = lng; +}; + +L.Util.extend(L.LatLng, { + DEG_TO_RAD: Math.PI / 180, + RAD_TO_DEG: 180 / Math.PI, + MAX_MARGIN: 1.0E-9 // max margin of error for the "equals" check +}); + +L.LatLng.prototype = { + equals: function(/*LatLng*/ obj) { + if (!(obj instanceof L.LatLng)) { return false; } + + var margin = Math.max(Math.abs(this.lat - obj.lat), Math.abs(this.lng - obj.lng)); + return margin <= L.LatLng.MAX_MARGIN; + }, + + toString: function() { + return 'LatLng(' + + L.Util.formatNum(this.lat) + ', ' + + L.Util.formatNum(this.lng) + ')'; + } +}; \ No newline at end of file -- cgit v1.2.3