soiz1 commited on
Commit
5371652
·
verified ·
1 Parent(s): 459d476

Update index.html

Browse files
Files changed (1) hide show
  1. 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 (editingMarker) {
498
- const t = e.latlng;
499
- editingMarker.setLatLng([t.lat, t.lng]);
500
- document.getElementById("marker-lat").value = t.lat;
501
- document.getElementById("marker-lng").value = t.lng;
502
- updatePreviewSize();
503
- saveMapToStorage(); // 編集後に保存
504
- } else {
505
- const t = e.latlng;
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
- openEditor(n);
516
- saveMapToStorage(); // 新しいマーカー追加後に保存
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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