Geolocation APIを扱う場合、awaitを使えた方が便利なことが多いので
Promiseでラップするようにしました。
sample.ts
// API呼び出し
getCurrentPosition() {
return new Promise(
(
resolve: (value?: Position) => void,
reject: (reason?: PositionError) => void
) => {
navigator.geolocation.getCurrentPosition(resolve, reject);
}
);
}
// 使う場合はこんな感じで
async foo() {
const s = await this.getCurrent();
console.log(s.coords);
// 結果(例)
// Coordinates {latitude: 35.681167, longitude: 139.767052,
// altitude: null, accuracy: 40, altitudeAccuracy: null, …}
}
何かの役に立てば幸いです。