// 例: getCurrentPosition() var locmarker = L.marker(mymap.getCenter()).addTo(mymap); locmarker.bindPopup("捕捉中...").openPopup(); var nTrial = 100 var watchId = null; // 最初はnullにしておく function tryWatchLOC() { watchId = navigator.geolocation.watchPosition( onSuccess, onError,{ maximumAge: 0, }); } function onSuccess(pos) { var latlng = L.latLng([pos.coords.latitude, pos.coords.longitude]); mymap.panTo(latlng); locmarker.setLatLng(latlng).setPopupContent( "ここは "+latlng+"です." ).openPopup(); } function onError(err) { restN = "あと"+(--nTrial)+"回試行します。"; locmarker.setPopupContent("捕捉失敗:"+restN).openPopup(); if (nTrial <= 0) { navigator.geolocation.clearWatch(watchId); } } tryWatchLOC()