diff --git a/map4.js b/map4.js index 9cb6abc..b055757 100644 --- a/map4.js +++ b/map4.js @@ -187,13 +187,13 @@ return R * 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1 - a)); } // =================================== -// メンバー一覧表示(王冠+クリックでジャンプ) +// メンバー一覧表示(王冠 + クリックでその人へジャンプ) // =================================== function showMemberList(latestByDevice) { const list = document.getElementById("memberList"); list.innerHTML = ""; - // 新しく参加した人を allMembers に追加(順番固定) + // 新しく参加した人を allMembers に追加(順序固定) Object.values(latestByDevice).forEach((row) => { if (!allMembers.some((m) => m.device_id === row.device_id)) { allMembers.push({ @@ -216,7 +216,7 @@ li.classList.toggle("online", online); li.classList.toggle("offline", !online); - // ホストに👑を付ける + // ホストには 👑 を付与 const crown = member.user_name === currentHostName ? "👑 " : ""; li.innerHTML = ` @@ -224,41 +224,18 @@ ${crown}${member.user_name} `; - // ★ メンバーをタップしたら、その人の位置へジャンプ + // ★ クリックでそのメンバーの場所へ移動(アニメーションなし) li.addEventListener("click", () => { const latestRow = latestByDevice[member.device_id]; if (!latestRow) return; // 地図をその人の位置へ移動 map.setView([latestRow.lat, latestRow.lng], 17, { animate: true }); - - // 対象のマーカーを少しジャンプさせる - let markerToBounce = null; - - // 自分自身なら selfMarker、それ以外は otherMarkers から探す - if (latestRow.device_id === deviceId && selfMarker) { - markerToBounce = selfMarker; - } else { - markerToBounce = otherMarkers.find((m) => { - const pos = m.getLatLng(); - return pos.lat === latestRow.lat && pos.lng === latestRow.lng; - }); - } - - if (markerToBounce && markerToBounce._icon) { - const iconEl = markerToBounce._icon; - iconEl.style.transition = "transform 0.2s ease"; - iconEl.style.transform = "translateY(-10px)"; - setTimeout(() => { - iconEl.style.transform = "translateY(0px)"; - }, 200); - } }); list.appendChild(li); }); } - // =================================== // ホスト自動交代(完全改良版) // ===================================