if (navigator.geolocation) { // Geolocation APIが使用可能 // 現在位置を取得する navigator.geolocation.getCurrentPosition( // 現在位置の取得に成功した場合の処理 function(position){ var location = position.coords; // 取得した情報を変数に設定する。(nullの場合は"-"に設定) var lat = location.latitude || "-"; // 緯度(-180〜180) var lng = location.longitude || "-"; // 経度(-90〜90) var alt = location.altitude || "-"; // 高度(m) var acc = location.accuracy || "-"; // 取得した緯度、経度の精度(m) var altacc = location.altitudeAccuracy || "-"; // 高度の精度(m) var head = location.heading || "-"; // 方角(0が北) var speed = location.speed || "-"; // 速度 document.getElementById('location').innerHTML = "<p>緯度:" + lat + "</p>" + "<p>経度:" + lng + "</p>" + "<p>高度:" + alt + "</p>" + "<p>緯度、経度の精度" + acc + "</p>" + "<p>高度の精度:" + altacc + "</p>" + "<p>方角:" + head + "</p>" + "<p>速度:" + speed + "</p>"; }, // 現在位置の取得に失敗した場合の処理 function(error){ // エラーメッセージを定義 var errorInfo = { 0: "原因不明のエラーにより、位置情報が取得できませんでした。", 1: "このページに対し位置情報を許可してください。", 2: "電波状況等により位置情報が取得できませんでした。", 3: "位置情報の取得がタイムアウトしました。" } // エラーメッセージを表示 alert(errorInfo[error.code]); }, // オプション { "enableHighAccuracy": false, // 精緻な位置情報を取得 "timeout": 8000, // タイムアウト(ms) "maximumAge": 2000, // キャッシュ(ms) } ); } else { // Geolocation APIが使用不可 alert("Geolocation APIが使用できません。"); };
<div id="location"></div>