(function () { if (!navigator.geolocation) { console.warn("Geolocation APIを利用できない環境"); return; } navigator.geolocation.getCurrentPosition( (positions) => { // 位置情報の取得成功時の処理 console.log(positions.coords.latitude, positions.coords.longitude); }, (error) => { // 位置情報の取得失敗時の処理 const errors = { 1: '位置情報の利用が許可されていない。', 2: '位置情報の取得に失敗。', 3: 'タイムアウト。' }; console.error(error.code, errors[error.code]) }, { enableHighAccuracy: true, timeout: 5000, maximumAge: 0, } ); }());
options詳細
option | デフォルト | 説明 |
---|---|---|
enableHighAccuracy | false | 精度の高い位置情報を取得するか GPSを使うことができる場合に使う |
timeout | 無制限 | タイムアウトまでの時間 |
maximumAge | 0 | 取得済みの位置情報の有効期限 |
ブログ用に書いてるから可読性死んでるけどプロダクトに使うときはコールバック関数は別で定義しようね。。。
参考
developer.mozilla.org developer.mozilla.org developer.mozilla.org