soiz1 commited on
Commit
c266f14
·
verified ·
1 Parent(s): a85837a

Update index.html

Browse files
Files changed (1) hide show
  1. index.html +47 -0
index.html CHANGED
@@ -125,6 +125,53 @@ body::-webkit-scrollbar-thumb {
125
 
126
 
127
  <script>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
128
 
129
  function saveMapToStorage() {
130
  const markers = [];
 
125
 
126
 
127
  <script>
128
+ // 「新しくマーカーを追加」ボタンの動作
129
+ document.getElementById("add-marker-btn").addEventListener("click", function () {
130
+ map.on("click", function addMarkerHandler(e) {
131
+ const latlng = e.latlng;
132
+ const newMarker = L.marker(latlng).addTo(map);
133
+ newMarker.bindPopup("新しいマーカー");
134
+ newMarker.bindTooltip("新しいマーカーのツールチップ");
135
+
136
+ // マーカー編集可能にする
137
+ newMarker.on("mouseover", function () {
138
+ hoveredMarker = newMarker;
139
+ });
140
+ newMarker.on("mouseout", function () {
141
+ if (hoveredMarker === newMarker) hoveredMarker = null;
142
+ });
143
+
144
+ // 編集パネルを開く
145
+ openEditor(newMarker);
146
+
147
+ // 一度クリックでイベント解除
148
+ map.off("click", addMarkerHandler);
149
+
150
+ // マーカー保存
151
+ saveMapToStorage();
152
+ });
153
+ });
154
+
155
+ // 「マーカーを編集」ボタンの動作
156
+ document.getElementById("edit-marker-btn").addEventListener("click", function () {
157
+ map.on("click", function editMarkerHandler(e) {
158
+ const nearbyMarkers = [];
159
+ map.eachLayer(function (layer) {
160
+ if (layer instanceof L.Marker) {
161
+ if (map.distance(e.latlng, layer.getLatLng()) < 20) {
162
+ nearbyMarkers.push(layer);
163
+ }
164
+ }
165
+ });
166
+
167
+ if (nearbyMarkers.length > 0) {
168
+ const markerToEdit = nearbyMarkers[0];
169
+ openEditor(markerToEdit);
170
+ map.off("click", editMarkerHandler); // 一度クリックでイベント解除
171
+ }
172
+ });
173
+ });
174
+
175
 
176
  function saveMapToStorage() {
177
  const markers = [];