diff --git a/debug/map/map-scaled.html b/debug/map/map-scaled.html new file mode 100644 index 000000000..1df05455e --- /dev/null +++ b/debug/map/map-scaled.html @@ -0,0 +1,38 @@ + + + + Leaflet debug page + + + + + + + + + + + + + +
+ + + + diff --git a/src/dom/DomEvent.js b/src/dom/DomEvent.js index 8cd34d931..bd6f7142f 100644 --- a/src/dom/DomEvent.js +++ b/src/dom/DomEvent.js @@ -227,9 +227,11 @@ export function getMousePosition(e, container) { var rect = container.getBoundingClientRect(); + var scaleX = rect.width / container.offsetWidth || 1; + var scaleY = rect.height / container.offsetHeight || 1; return new Point( - e.clientX - rect.left - container.clientLeft, - e.clientY - rect.top - container.clientTop); + e.clientX / scaleX - rect.left - container.clientLeft, + e.clientY / scaleY - rect.top - container.clientTop); } // Chrome on Win scrolls double the pixels as in other platforms (see #4538),