Javascriptで位置情報を取得してみる
前置き
今回はJavascriptで位置情報を取得するために、Geolocation APIを使ってみます。
Geolocation API
位置情報の取得には2種類ありますので、利用目的に応じて選択してください。
```
function success(res) {
console.log(res);
}
function error(err) {
console.log(err);
}
navigator.geolocation.getCurrentPosition(success, error);
```
・getCurrentPosition: 一回だけ取得します。
```
let watch = navigator.geolocation.watchPosition(success, error);
navigator.geolocation.clearWatch(watch);
```
・watchPosition: 連続で取得し、clearWatchで終了します。
成功処理
```
coords: {
latitude: 35.6812362 ← 緯度
longitude: 139.7671248 ← 経度
altitude: null ← 高度 (海面からの距離) [m]
accuracy: 10326 ← 緯度と経度の精度[m]
altitudeAccuracy: null ← 高度の精度[m]
heading: null ← デバイスの移動方向の角度[°]
speed: null ← デバイスの移動速度[m/s]
}
```
成功した場合、レスポンスはこのようになっています。この場合、緯度と経度で東京駅にいるのがわかります。
失敗処理
```
code: 1
message: "User denied Geolocation"
```
失敗した場合、エラー内容はこのようになっています。エラーコードを確認すると、位置情報のアクセス許可を拒否したのでエラーコードが1になることがわかります。
注意点
・ユーザーへのアクセス許可のアラートは自動で表示されます。
・OSやブラウザによって位置情報が正しくないことがあります。
・位置情報の取得はAPIなので遅延があります。
ではでは