エラー発生時の処理を指定する

説明

エラー発生時の処理を指定するにはnavigator.geolocation.getCurrentPosition()の2番目のパラメータにエラー発生時に呼び出す関数を指定します。関数にはエラー情報を格納したオブジェクトが渡されます。エラーコードはcodeプロパティに格納されており(以下のコードは0が不明なエラー、1が位置の取得が許可されなかった、2が位置が特定できなかった、3がタイムアウトエラーとなっています。(以下のサンプルは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 txt = "緯度:"+lat+"<br />経度:"+lng;
document.getElementById("pos").innerHTML = txt;
},
function(error){
document.getElementById("pos").innerHTML = "エラーコード:"+error.code;
}
);
}else{
document.getElementById("pos").innerHTML = "Geo Location APIに対応していません";
}
サンプルを実行
[戻る]