commit 3fb738bce9d3c37917e9876596005e91cb0d44ea
parent 5dc166de76527a2a935de1ba2f50e918d9281e36
Author: Sergej Orlov <wladimirych@gmail.com>
Date: Sun, 19 Mar 2017 02:09:19 +0300
[print] even more precise page latLng bounds calculation: account for different datum radiuses
Diffstat:
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/src/lib/leaflet.control.printPages/pageFeature.js b/src/lib/leaflet.control.printPages/pageFeature.js
@@ -35,9 +35,10 @@ const PageFeature = L.Marker.extend({
},
_getLatLngBounds: function() {
+
const centerLatLng = this.getLatLng();
const centerMerc = L.Projection.SphericalMercator.project(centerLatLng);
- const mercatorScale = Math.cos(centerLatLng.lat * Math.PI / 180);
+ const mercatorScale = Math.cos(centerLatLng.lat * Math.PI / 180) * L.CRS.Earth.R / L.Projection.SphericalMercator.R;
const mercatorPageSize = L.point(...this.paperSize).multiplyBy(this.scale / 10 / mercatorScale);
let sw = centerMerc.subtract(mercatorPageSize.divideBy(2));
let ne = centerMerc.add(mercatorPageSize.divideBy(2));