より高精度な位置を求める

説明

より高精度な位置を求めるにはnavigator.geolocation.getCurrentPosition()の3番目のオプションパラメータでenableHighAccuracyにtrueを指定します。iPhoneでは特に指定しなくても高精度の位置を取得できますが、Android携帯などの場合はenableHighAccuracyオプションを指定しないと高精度での位置が取得できないものがあります。(以下のコードはAnddoid携帯では動作しません)

サンプルプログラム

【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;
},
{
enableHighAccuracy : true, // より高精度な位置
}
);
}else{
document.getElementById("pos").innerHTML = "Geo Location APIに対応していません";
}
サンプルを実行
[戻る]