Skip to content

Commit

Permalink
[leaflet] use the earth radius value used by the s2 geometry library
Browse files Browse the repository at this point in the history
this library is used in the ingress backend, so distance calculation, etc are far closer if we use the value from that
  • Loading branch information
McBen committed Dec 31, 2016
1 parent 611aeb1 commit 2bdc063
Showing 1 changed file with 3 additions and 3 deletions.
6 changes: 3 additions & 3 deletions external/leaflet-src.js
Original file line number Diff line number Diff line change
Expand Up @@ -1160,7 +1160,7 @@ L.LatLng.prototype = {
distanceTo: function (other) { // (LatLng) -> Number
other = L.latLng(other);

var R = 6378137, // earth radius in meters
var R = 6367000.0, // earth radius in meters
d2r = L.LatLng.DEG_TO_RAD,
dLat = (other.lat - this.lat) * d2r,
dLon = (other.lng - this.lng) * d2r,
Expand Down Expand Up @@ -1481,7 +1481,7 @@ L.CRS.EPSG3857 = L.extend({}, L.CRS, {

project: function (latlng) { // (LatLng) -> Point
var projectedPoint = this.projection.project(latlng),
earthRadius = 6378137;
earthRadius = 6367000.0;
return projectedPoint.multiplyBy(earthRadius);
}
});
Expand Down Expand Up @@ -8277,7 +8277,7 @@ L.Control.Scale = L.Control.extend({
_update: function () {
var bounds = this._map.getBounds(),
centerLat = bounds.getCenter().lat,
halfWorldMeters = 6378137 * Math.PI * Math.cos(centerLat * Math.PI / 180),
halfWorldMeters = 6367000.0 * Math.PI * Math.cos(centerLat * Math.PI / 180),
dist = halfWorldMeters * (bounds.getNorthEast().lng - bounds.getSouthWest().lng) / 180,

size = this._map.getSize(),
Expand Down

0 comments on commit 2bdc063

Please sign in to comment.