diff --git a/templates/index.html b/templates/index.html
index 61d19ad..392a434 100644
--- a/templates/index.html
+++ b/templates/index.html
@@ -658,7 +658,7 @@ function renderWorkplaceMarkers() {
${escHtml(g.address)}
${g.ids.length > 1 ? `
(${g.ids.length}개 투표소)
` : ''}
${getGroupAssigneesHtml(g.ids)}
- `);
+ `, {autoPan: false});
markers.workplaces[g.address] = marker;
bounds.push([g.lat, g.lng]);
}
@@ -680,7 +680,7 @@ function renderWorkerMarkers() {
for (const w of d.workers) {
const isAssigned = d.assignments[w.id];
const marker = L.marker(getWorkerPos(w), { icon: isAssigned ? WORKER_ASSIGNED_ICON : WORKER_ICON, draggable: true })
- .addTo(map).bindPopup(buildWorkerPopup(w.id));
+ .addTo(map).bindPopup(buildWorkerPopup(w.id), {autoPan: false});
marker.on('dragend', function () { handleWorkerDragEnd(w.id, this); });
markers.workers[w.id] = marker;
}
@@ -783,8 +783,10 @@ function renderWorkerList() {
`;
card.addEventListener('click', () => {
const pos = getWorkerPos(w);
- map.setView(pos, 16);
- if (markers.workers[w.id]) markers.workers[w.id].openPopup();
+ map.panTo(pos, {animate: true, duration: 0.3});
+ setTimeout(() => {
+ if (markers.workers[w.id]) markers.workers[w.id].openPopup();
+ }, 350);
});
card.addEventListener('dragstart', e => { e.dataTransfer.setData('text/plain', w.id); e.dataTransfer.effectAllowed = 'move'; card.classList.add('dragging'); });
card.addEventListener('dragend', () => card.classList.remove('dragging'));
@@ -851,8 +853,10 @@ function renderWorkplaceList() {
`;
card.addEventListener('click', () => {
- map.setView([g.lat, g.lng], 16);
- if (markers.workplaces[g.address]) markers.workplaces[g.address].openPopup();
+ map.panTo([g.lat, g.lng], {animate: true, duration: 0.3});
+ setTimeout(() => {
+ if (markers.workplaces[g.address]) markers.workplaces[g.address].openPopup();
+ }, 350);
});
list.appendChild(card);
}