こんにちは、さるまりんです。
JavaScriptで現在の位置情報を取得するにはnavigator.geolocation
オブジェクトを使います。
まず、位置情報の利用を許可してもらう必要があるので以下のようにnavigator.geolocation
が使えるかを確認するコードを実行します。
if (navigator.geolocation) {
console.log('位置情報が利用可能です');
} else {
console.log('位置情報が利用できません');
}
これでユーザーが位置情報を利用していいと許可した場合にはnavigator.geolocation
オブジェクトが利用可能になります。
次に、現在位置の取得はnavigator.geolocation.getCurrentPosition()
メソッドを呼び出すことで可能です。
navigator.geolocation.getCurrentPosition(
function(position) {
console.log('緯度:', position.coords.latitude);
console.log('経度:', position.coords.longitude);
},
function(error) {
console.error('エラーが発生しました:', error.message);
}
);
緯度経度以外にも高度(altitude
)、精度(accuracy
)も使えるようです。
つなぐとこんな処理になります。
if (navigator.geolocation) {
console.log('位置情報が利用可能です');
navigator.geolocation.getCurrentPosition(
function(position) {
console.log('緯度:', position.coords.latitude);
console.log('経度:', position.coords.longitude);
},
function(error) {
console.error('エラーが発生しました:', error.message);
}
);
} else {
console.log('位置情報が利用できません');
}
この処理ですが多用しすぎると、何度も位置情報使っても良いかの確認が発生するので、どう使うかは考えたほうがよさそうです。
ページ開くたびに場所確認するような作りをして、うっとうしい〜!!!と言われたことがあります。(あたりまえか!)
読んでくれてありがとうございました。
それではまた!