Spaces:
Running
Running
Update index.html
Browse files- index.html +44 -20
index.html
CHANGED
|
@@ -492,28 +492,52 @@ function applyIconAndSaveMarker(lat, lng, popupContent, tooltipContent, iconUrl)
|
|
| 492 |
|
| 493 |
document.getElementById("generate-html").addEventListener("click", generateMapHTML);
|
| 494 |
|
| 495 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 496 |
map.on("click", function(e) {
|
| 497 |
-
if (
|
| 498 |
-
const
|
| 499 |
-
|
| 500 |
-
|
| 501 |
-
|
| 502 |
-
|
| 503 |
-
|
| 504 |
-
|
| 505 |
-
|
| 506 |
-
const n = L.marker(t).addTo(map);
|
| 507 |
-
n.bindPopup("新しいマーカー");
|
| 508 |
-
n.bindTooltip("新しいマーカーのツールチップ");
|
| 509 |
-
n.on("mouseover", function() {
|
| 510 |
-
hoveredMarker = n;
|
| 511 |
-
});
|
| 512 |
-
n.on("mouseout", function() {
|
| 513 |
-
hoveredMarker === n && (hoveredMarker = null);
|
| 514 |
});
|
| 515 |
-
|
| 516 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 517 |
}
|
| 518 |
});
|
| 519 |
|
|
|
|
| 492 |
|
| 493 |
document.getElementById("generate-html").addEventListener("click", generateMapHTML);
|
| 494 |
|
| 495 |
+
let nextMarkerEdit = null;
|
| 496 |
+
|
| 497 |
+
document.getElementById("edit-next-marker").addEventListener("click", function() {
|
| 498 |
+
nextMarkerEdit = true;
|
| 499 |
+
alert("次にクリックするマーカーを編集します。");
|
| 500 |
+
});
|
| 501 |
+
|
| 502 |
map.on("click", function(e) {
|
| 503 |
+
if (nextMarkerEdit) {
|
| 504 |
+
const clickedMarkers = [];
|
| 505 |
+
map.eachLayer(function (layer) {
|
| 506 |
+
if (layer instanceof L.Marker) {
|
| 507 |
+
const distance = map.distance(e.latlng, layer.getLatLng());
|
| 508 |
+
if (distance < 20) {
|
| 509 |
+
clickedMarkers.push(layer);
|
| 510 |
+
}
|
| 511 |
+
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 512 |
});
|
| 513 |
+
|
| 514 |
+
if (clickedMarkers.length > 0) {
|
| 515 |
+
openEditor(clickedMarkers[0]);
|
| 516 |
+
}
|
| 517 |
+
nextMarkerEdit = false;
|
| 518 |
+
} else {
|
| 519 |
+
// 既存のクリックイベント処理
|
| 520 |
+
if (editingMarker) {
|
| 521 |
+
const t = e.latlng;
|
| 522 |
+
editingMarker.setLatLng([t.lat, t.lng]);
|
| 523 |
+
document.getElementById("marker-lat").value = t.lat;
|
| 524 |
+
document.getElementById("marker-lng").value = t.lng;
|
| 525 |
+
updatePreviewSize();
|
| 526 |
+
saveMapToStorage();
|
| 527 |
+
} else {
|
| 528 |
+
const t = e.latlng;
|
| 529 |
+
const n = L.marker(t).addTo(map);
|
| 530 |
+
n.bindPopup("新しいマーカー");
|
| 531 |
+
n.bindTooltip("新しいマーカーのツールチップ");
|
| 532 |
+
n.on("mouseover", function() {
|
| 533 |
+
hoveredMarker = n;
|
| 534 |
+
});
|
| 535 |
+
n.on("mouseout", function() {
|
| 536 |
+
hoveredMarker === n && (hoveredMarker = null);
|
| 537 |
+
});
|
| 538 |
+
openEditor(n);
|
| 539 |
+
saveMapToStorage();
|
| 540 |
+
}
|
| 541 |
}
|
| 542 |
});
|
| 543 |
|