JavaScript でスマホの位置情報(GPS)、緯度・経度を取得する。現在地の表示。geolocation.getCurrentPosition、watchPosition。
対象 : Android Chrome、iOS(iPhone、iPod touch)Safari
<div id="ex_gps"></div> <script> window.addEventListener('DOMContentLoaded', function(){ if(navigator.geolocation){ navigator.geolocation.getCurrentPosition(successFunc, errorFunc); }else{ document.getElementById('ex_gps').insertAdjacentHTML('afterbegin', 'エラー:geolocationを取得できません。'); } }, false); function successFunc(position){ var crd = position.coords; var text = "緯度 latitude:" + crd.latitude + "<br />" + "経度 longitude:" + crd.longitude + "<br />" + "高度 altitude:" + crd.altitude + "<br />" + "水平方向の誤差 accuracy:" + crd.accuracy + "<br />" + "垂直方向の誤差 altitudeAccuracy:" + crd.altitudeAccuracy + "<br />" + "方向 heading:" + crd.heading + "<br />" + "速度 speed:" + crd.speed ; document.getElementById('ex_gps').innerHTML = text; } function errorFunc(error){ document.getElementById('ex_gps').innerHTML = "エラーコード:" + error.code + "<br />エラー内容:" + error.message; } </script>
window.addEventListener('load', function(){ if(navigator.geolocation){ navigator.geolocation.watchPosition(successFunc, errorFunc); }else{ document.getElementById('ex_gps').insertAdjacentHTML('afterbegin', 'エラー:geolocationを取得できません。'); } }, false);