サンプル:
http://html5next.appspot.com/geolocation1.html
ソース:
<script type="text/javascript">
function formload()
{
try
{
if(navigator.geolocation)
{
document.getElementById("status").innerHTML = "あなたのブラウザーはHTML5 Geolocationをサポートしています。<br/>位置情報サービスの利用許可をいただいたら、しばらくお待ちください。";
navigator.geolocation.getCurrentPosition(updateLocation);
}
else
{
document.getElementById("status").innerHTML = "あなたのブラウザーはHTML5 Geolocationをサポートしていません。";
}
}
catch(e)
{
alert(e.description);
}
}
function updateLocation(position)
{
var latitude = position.coords.latitude;
var longitude = position.coords.longitude;
var accuracy = position.coords.accuracy;
var timestamp = position.timestamp;
var date = new Date(timestamp);
document.getElementById("position").innerHTML = ""
+ "緯度:" + latitude + "<br/>"
+ "経度:" + longitude + "<br/>"
+ "精度:" + accuracy + "<br/>"
+ "時間:" + date + "<br/>"
;
var src = 'http://maps.google.com/staticmap?center=' + latitude + ',' + longitude + '&zoom=14&size=480x320&markers=' + latitude + ',' + longitude;
$('#imgPos').attr('src', src);
}
</script>
<body onload="formload();">
<div id="status"></div>
<div id="position"></div>
<img id="imgPos" />
</body>
エラー処理関数:
function handleLocationError(error)
{
switch(error.code)
{
case 0:
// error.message : ロケーション取得エラー
break;
case 1:
// error.message : ユーザーキャンセル
break;
case 2:
// error.message : ブラウザーはロケーション情報を取得できない
updateStatus("The browser was unable to determine your location: " + error.message);
break;
case 3:
// error.message : ロケーション情報取得タイムアウト
break;
}
}
0 件のコメント:
コメントを投稿