diff --git a/loc-chase.js b/loc-chase.js deleted file mode 100644 index c1f3fa3..0000000 --- a/loc-chase.js +++ /dev/null @@ -1,58 +0,0 @@ -document.addEventListener("DOMContentLoaded", () => { - var mymap = L.map("locationmap").setView([38.891, 139.824], 16); - L.tileLayer('https://{s}.tile.osm.org/{z}/{x}/{y}.png', { - attribution: - '© OpenStreetMap \ - contributors' - }).addTo(mymap); - - var locmarker = L.marker(mymap.getCenter()).addTo(mymap); - locmarker.bindPopup("STARTおしてね").openPopup(); - - var nTrial = 100 - var watchId = null; // 最初はnullにしておく - function stopLOC() { // watchが動いていたら止めてnullにする - console.log("watchId="+watchId); - if (watchId != null) { // nullかどうかで比較しないとだめ(初期値0) - navigator.geolocation.clearWatch(watchId); - document.getElementById("title").textContent = "stop"; - locmarker.setPopupContent("停めました"); - } - watchId = null; - } - function tryWatchLOC() { - stopLOC(); // 二重で動かないように注意する - watchId = navigator.geolocation.watchPosition( - onSuccess, onError,{ - maximumAge: 0, timeout: 3000, enableHighAccuracy: true}); - document.getElementById("title").textContent = "START!!"; - } - function onSuccess(pos) { // 衛星信号が取れたらここに来る - var latlng = L.latLng([pos.coords.latitude, pos.coords.longitude]); - mymap.panTo(latlng);// 地図の中心をそこにする - console.log(latlng); - // ★★★★★ ここから - locmarker.setLatLng(latlng).setPopupContent( - "ここは lat="+latlng.lat+", lng="+latlng.lng+"ですよ" - ).openPopup(); - - if (latlng.lat >= 38.8921 && latlng.lat <= 38.8925 && latlng.lng >= 139.8192 && latlng.lng <= 139.8196) { - locmarker.setPopupContent("公益ホール").openPopup(); - } - - // ★★★★★ ここまでの latlng.lat と latlng.lng を - // if文などで判定して、特定の場所に近づいたら「GOAL!」と - // 表示するように変えてみよ。 - } - function onError(err) { - restN = "あと"+(--nTrial)+"回試行します。"; - locmarker.setPopupContent("捕捉失敗:"+restN).openPopup(); - if (nTrial <= 0) { - navigator.geolocation.clearWatch(watchId); - } - } - // STARTボタンに開始を仕込む - document.getElementById("start").addEventListener("click", tryWatchLOC); - // STOPボタンに停止を仕込む - document.getElementById("stop").addEventListener("click", stopLOC); -}, false); diff --git a/loc-chase2.js b/loc-chase2.js new file mode 100644 index 0000000..c1f3fa3 --- /dev/null +++ b/loc-chase2.js @@ -0,0 +1,58 @@ +document.addEventListener("DOMContentLoaded", () => { + var mymap = L.map("locationmap").setView([38.891, 139.824], 16); + L.tileLayer('https://{s}.tile.osm.org/{z}/{x}/{y}.png', { + attribution: + '© OpenStreetMap \ + contributors' + }).addTo(mymap); + + var locmarker = L.marker(mymap.getCenter()).addTo(mymap); + locmarker.bindPopup("STARTおしてね").openPopup(); + + var nTrial = 100 + var watchId = null; // 最初はnullにしておく + function stopLOC() { // watchが動いていたら止めてnullにする + console.log("watchId="+watchId); + if (watchId != null) { // nullかどうかで比較しないとだめ(初期値0) + navigator.geolocation.clearWatch(watchId); + document.getElementById("title").textContent = "stop"; + locmarker.setPopupContent("停めました"); + } + watchId = null; + } + function tryWatchLOC() { + stopLOC(); // 二重で動かないように注意する + watchId = navigator.geolocation.watchPosition( + onSuccess, onError,{ + maximumAge: 0, timeout: 3000, enableHighAccuracy: true}); + document.getElementById("title").textContent = "START!!"; + } + function onSuccess(pos) { // 衛星信号が取れたらここに来る + var latlng = L.latLng([pos.coords.latitude, pos.coords.longitude]); + mymap.panTo(latlng);// 地図の中心をそこにする + console.log(latlng); + // ★★★★★ ここから + locmarker.setLatLng(latlng).setPopupContent( + "ここは lat="+latlng.lat+", lng="+latlng.lng+"ですよ" + ).openPopup(); + + if (latlng.lat >= 38.8921 && latlng.lat <= 38.8925 && latlng.lng >= 139.8192 && latlng.lng <= 139.8196) { + locmarker.setPopupContent("公益ホール").openPopup(); + } + + // ★★★★★ ここまでの latlng.lat と latlng.lng を + // if文などで判定して、特定の場所に近づいたら「GOAL!」と + // 表示するように変えてみよ。 + } + function onError(err) { + restN = "あと"+(--nTrial)+"回試行します。"; + locmarker.setPopupContent("捕捉失敗:"+restN).openPopup(); + if (nTrial <= 0) { + navigator.geolocation.clearWatch(watchId); + } + } + // STARTボタンに開始を仕込む + document.getElementById("start").addEventListener("click", tryWatchLOC); + // STOPボタンに停止を仕込む + document.getElementById("stop").addEventListener("click", stopLOC); +}, false);