現定期的に位置情報を取得する

説明

定期的に位置情報を取得するにはnavigator.geolocation.watchPosition()を使います。ただし、位置情報はユーザーが位置情報の提供を許可しない限り取得することができません。また、使用しているデバイスや環境により正しい位置が取得できないこともあります。通信状況によってはエラーになることもあるためエラー処理を組み込んでおくことも必要です(以下のサンプルではエラー処理は組み込まれていません)。
位置情報オブジェクトでlatitudeは経度を示し東経の場合は0〜180未満,西経の場合は0〜-180未満の値になります。longitudeは緯度を示すプロパティで北半球の場合は0〜90,南半球の場合は0〜-90の値になります。位置は世界測地系(WGS-84)となっています。(以下のコードはFirefox 3.6, iPhone用Safariで動作)

サンプルプログラム

【HTML】
<!doctype html>
<head>
<meta charset="utf-8" />
<title>Sample</title>
<link rel="stylesheet" href="css/main.css" type="text/css" media="all">
</head>
<body>
<h1>定期的に位置を取得する</h1>
<div id="pos"></div>
<script type="text/javascript" src="js/sample.js"></script>
</body>
</html>

【スクリプト】
if (navigator.geolocation){
navigator.geolocation.watchPosition(
function(position){
var lat = position.coords.latitude;
var lng = position.coords.longitude;
var txt = "緯度:"+lat+"<br />経度:"+lng;
document.getElementById("pos").innerHTML = txt;
}
);
}else{
document.getElementById("pos").innerHTML = "Geo Location APIに対応していません";
}
サンプルを実行
[戻る]