diff --git a/yobidasi.js b/yobidasi.js index bd482eb..5058eb4 100644 --- a/yobidasi.js +++ b/yobidasi.js @@ -210,4 +210,75 @@ } -L.control.layers(null, layers).addTo(mymap); +L.control.layers(null, layers).addTo(mymap);  + + + + + + + + + + + + + + + +parks.forEach(function (park) { + park.yuugu.forEach(function (equip) { + if (layers[equip]) { + + // 保存されているレビューを取得 + const savedReviews = JSON.parse(localStorage.getItem(park.name)) || []; + + // ポップアップHTMLを生成 + var popup = `${park.name}
遊具: ${park.yuugu.join("・")}`; + if (park.image1 && park.image1 !== "null") { + popup += `
`; + } + if (park.image2 && park.image2 !== "null") { + popup += `
`; + } + + // レビュー一覧表示部 + popup += `
+

レビュー:

+ +
`; + + // 投稿フォーム + popup += ` +
+ + `; + + var marker = L.marker(park.coords, { icon: parkIcon }).bindPopup(popup); + layers[equip].addLayer(marker); + } + }); +}); + +// レビュー投稿処理(グローバル関数にする) +window.addReview = function (parkName) { + const input = document.getElementById(`input-${parkName}`); + const review = input.value.trim(); + if (!review) return alert("レビューを入力してください。"); + + // 既存レビューを取得 + const reviews = JSON.parse(localStorage.getItem(parkName)) || []; + reviews.push(review); + + // 保存 + localStorage.setItem(parkName, JSON.stringify(reviews)); + + // 表示を更新 + const list = document.querySelector(`#reviews-${parkName} ul`); + const li = document.createElement("li"); + li.textContent = review; + list.appendChild(li); + + // 入力欄をクリア + input.value = ""; +};