From 2bdc063ab7f0c02fd4f09ad10923df154defed23 Mon Sep 17 00:00:00 2001 From: McBen Date: Sat, 31 Dec 2016 07:47:05 +0100 Subject: [PATCH] [leaflet] use the earth radius value used by the s2 geometry library this library is used in the ingress backend, so distance calculation, etc are far closer if we use the value from that --- external/leaflet-src.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/external/leaflet-src.js b/external/leaflet-src.js index d0a8a0db..7bbe0911 100644 --- a/external/leaflet-src.js +++ b/external/leaflet-src.js @@ -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, @@ -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); } }); @@ -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(),