commit
						a11cd4e920
					
				@ -22,14 +22,29 @@
 | 
			
		||||
// - i,j: they always use 30 bits, adjusting as needed. we use 0 to (1<<level)-1 instead
 | 
			
		||||
//        (so GetSizeIJ for a cell is always 1)
 | 
			
		||||
 | 
			
		||||
(function(global){
 | 
			
		||||
(function (exports) {
 | 
			
		||||
'use strict';
 | 
			
		||||
 | 
			
		||||
var S2 = exports.S2 = { L: {} };
 | 
			
		||||
 | 
			
		||||
var S2 = (function() {
 | 
			
		||||
'use strict';
 | 
			
		||||
S2.L.LatLng = function (/*Number*/ rawLat, /*Number*/ rawLng, /*Boolean*/ noWrap) {
 | 
			
		||||
  var lat = parseFloat(rawLat, 10);
 | 
			
		||||
  var lng = parseFloat(rawLng, 10);
 | 
			
		||||
 | 
			
		||||
var S2 = {};
 | 
			
		||||
  if (isNaN(lat) || isNaN(lng)) {
 | 
			
		||||
    throw new Error('Invalid LatLng object: (' + rawLat + ', ' + rawLng + ')');
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  if (noWrap !== true) {
 | 
			
		||||
    lat = Math.max(Math.min(lat, 90), -90);                 // clamp latitude into -90..90
 | 
			
		||||
    lng = (lng + 180) % 360 + ((lng < -180 || lng === 180) ? 180 : -180);   // wrap longtitude into -180..180
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  return { lat: lat, lng: lng };
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
S2.L.LatLng.DEG_TO_RAD = Math.PI / 180;
 | 
			
		||||
S2.L.LatLng.RAD_TO_DEG = 180 / Math.PI;
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
S2.LatLngToXYZ = function(latLng) {
 | 
			
		||||
@ -488,52 +503,4 @@ S2.S2Cell.nextKey = S2.nextKey = function (key) {
 | 
			
		||||
  return S2.stepKey(key, 1);
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
return S2;
 | 
			
		||||
})();
 | 
			
		||||
 | 
			
		||||
var L = (function () {
 | 
			
		||||
  'use strict';
 | 
			
		||||
 | 
			
		||||
  // Adapted from Leafletjs https://searchcode.com/codesearch/view/42525008/
 | 
			
		||||
 | 
			
		||||
  var L = {};
 | 
			
		||||
 | 
			
		||||
  S2.L = L;
 | 
			
		||||
 | 
			
		||||
  L.LatLng = function (/*Number*/ rawLat, /*Number*/ rawLng, /*Boolean*/ noWrap) {
 | 
			
		||||
    var lat = parseFloat(rawLat, 10);
 | 
			
		||||
    var lng = parseFloat(rawLng, 10);
 | 
			
		||||
 | 
			
		||||
    if (isNaN(lat) || isNaN(lng)) {
 | 
			
		||||
      throw new Error('Invalid LatLng object: (' + rawLat + ', ' + rawLng + ')');
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    if (noWrap !== true) {
 | 
			
		||||
      lat = Math.max(Math.min(lat, 90), -90);                 // clamp latitude into -90..90
 | 
			
		||||
      lng = (lng + 180) % 360 + ((lng < -180 || lng === 180) ? 180 : -180);   // wrap longtitude into -180..180
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    return { lat: lat, lng: lng };
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  L.LatLng.DEG_TO_RAD = Math.PI / 180;
 | 
			
		||||
  L.LatLng.RAD_TO_DEG = 180 / Math.PI;
 | 
			
		||||
  
 | 
			
		||||
  return L;
 | 
			
		||||
})();
 | 
			
		||||
 | 
			
		||||
// export to module.exports or window
 | 
			
		||||
if (typeof module !== 'undefined' && typeof module.exports !== 'undefined') {
 | 
			
		||||
  module.exports.S2 = S2;
 | 
			
		||||
  if (!module.exports.L) {
 | 
			
		||||
    module.exports.L = L;
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
else {
 | 
			
		||||
  global.S2 = S2;
 | 
			
		||||
  if (!global.L) {
 | 
			
		||||
    global.L = L;
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
})(this);
 | 
			
		||||
})('undefined' !== typeof module ? module.exports : window);
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user