JSでブラウザの位置情報を取得する

(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


[商品価格に関しましては、リンクが作成された時点と現時点で情報が変更されている場合がございます。]

HTML5 Geolocation Bringing Location to W...
価格:1179円 (2021/10/9時点)