位置情報を取得した時間を取得する
説明
位置情報を取得した時間を取得するにはnavigator.geolocation.getCurrentPosition()により得られた位置情報オブジェクトのtimestampプロパティを参照します。timestampプロパティの値は1970年1月1日午前0時からの経過時間をミリ秒で示した数値や日付を示す文字列になります。いずれの場合でもDate()オブジェクトのパラメータとして指定することができます。つまりDateオブジェクトを生成することで位置情報を取得した時間を取得することができます。(以下のコードは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.getCurrentPosition(
function(position){
var lat = position.coords.latitude;
var lng = position.coords.longitude;
var time = position.timestamp;
var dateObj = new Date(time);
var Y = dateObj.getFullYear();
var M = dateObj.getMonth() + 1;
var D = dateObj.getDate();
var HH = dateObj.getHours();
var MM = dateObj.getMinutes();
var SS = dateObj.getSeconds();
var MS = dateObj.getMilliseconds();
var timeStr = Y+"年"+M+"月"+D+"日 "+HH+"時"+MM+"分"+SS+"."+MS+"秒";
var txt = "緯度:"+lat+"<br />経度:"+lng+"<br />時間:"+timeStr;
document.getElementById("pos").innerHTML = txt;
}
);
}else{
document.getElementById("pos").innerHTML = "Geo Location APIに対応していません";
}