[openstreetmap/openstreetmap-website] Add `autoPan`-ing for draggin markers on the diary adding page (PR #7188)
Tom Hughes
notifications at github.com
Sun Jul 5 15:49:39 UTC 2026
@tomhughes commented on this pull request.
> + if (!map) return;
+
+ const point = map.project(this.getLngLat()),
+ { clientWidth, clientHeight } = map.getContainer();
+
+ let dx = 0,
+ dy = 0;
+ if (point.x < edgeDistance) dx = point.x - edgeDistance;
+ else if (point.x > clientWidth - edgeDistance) dx = point.x - (clientWidth - edgeDistance);
+ if (point.y < edgeDistance) dy = point.y - edgeDistance;
+ else if (point.y > clientHeight - edgeDistance) dy = point.y - (clientHeight - edgeDistance);
+ if (!dx && !dy) return;
+
+ const clamp = (v) => Math.max(-maxPanStep, Math.min(maxPanStep, v));
+ map.panBy([clamp(dx), clamp(dy)], { duration: 0 });
+ this.setLngLat(map.unproject(point));
But the location you're setting is the same one so if it was outside the viewport before then it still it is? The value of `point` hasn't been changed by the clamping?
--
Reply to this email directly or view it on GitHub:
https://github.com/openstreetmap/openstreetmap-website/pull/7188#discussion_r3525172258
You are receiving this because you are subscribed to this thread.
Message ID: <openstreetmap/openstreetmap-website/pull/7188/review/4631567698 at github.com>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstreetmap.org/pipermail/rails-dev/attachments/20260705/f77ae29c/attachment.htm>
More information about the rails-dev
mailing list