This commit is contained in:
Fabio Giovanazzi 2025-08-02 00:47:02 +02:00
commit 90d3c9b7f5
No known key found for this signature in database
GPG key ID: 4BDF1B40A49FDD23
13 changed files with 11103 additions and 47 deletions

View file

@ -601,22 +601,9 @@ label.theme-color-label {
/* Snap indicator styles */
.snap-indicator {
transform: scale(11.6);
transform-box: fill-box;
transform-origin: center;
z-index: 1000;
pointer-events: none;
animation: snap-pulse 1s infinite;
}
@keyframes snap-pulse {
0% {
opacity: 0.8;
transform: scale(1);
}
50% {
opacity: 1;
transform: scale(1.2);
}
100% {
opacity: 0.8;
transform: scale(1);
}
}

View file

@ -1753,7 +1753,7 @@ editor = {
candidates.push(snapPoint);
}
});
// Find the closest candidate
if (candidates.length > 0) {
candidates.sort(function(a, b) { return a.distance - b.distance; });
@ -1800,9 +1800,10 @@ editor = {
// Check each edge of the geometry
for (var i = 0; i < coordinates.length; i++) {
var p1 = coordinates[i];
var p2 = coordinates[(i + 1) % coordinates.length];
var snapPoint = editor._find_closest_point_on_edge(p1, p2, targetLatLng, targetMapPoint);
if (snapPoint && snapPoint.distance < closestDistance) {
closestDistance = snapPoint.distance;
@ -1862,16 +1863,22 @@ editor = {
_show_snap_indicator: function(latlng) {
editor._clear_snap_indicators();
var indicator = L.circleMarker(latlng, {
radius: 4,
color: '#ff6b6b',
fillColor: '#ff6b6b',
fillOpacity: 0.8,
var size = 0.001; // adjust this to control square size
var bounds = [
[latlng.lat - size, latlng.lng - size],
[latlng.lat + size, latlng.lng + size]
];
var indicator = L.rectangle(bounds, {
color: '#666',
weight: 2,
lineCap: "square",
fillOpacity: 1.,
className: 'snap-indicator'
});
editor._snap_indicator.addLayer(indicator);
},