ユーザーの場所をJavaScriptで取得する方法
6460 ワード
この記事はもともと私のYouTubeチャンネルのビデオチュートリアルです.https://youtu.be/Xd43hZKaUS0
だからあなたのWebページやアプリケーションの現在のユーザーの場所を取得する必要があるとしましょう.
たぶん、あなたはそれらの場所(Googleの検索ページの下部にあるように)を表示するか、それらについてのコンテンツを調整する必要がある場所に応じている.
GeoLocation Web APIを使用してユーザーの現在位置を取得できます.
ゲル化API
で
ブラウザーがそれをサポートするならば、あなたはGeoLocation APIからユーザーの位置を要求することができます
現在位置を取得する
GetCurrentPosition関数は2つの引数をとります.
これらは、成功したジオロケーション検索または失敗があるときに実行されるコールバック関数です.
結果は以下のようになります.
ジオコーディング
いくつかのジオコーディングプロバイダがあります.チュートリアルでは、OpenCageDataを使用しました.COM(無料アカウントとAPIキー要求のために必要です)経度と緯度の値を翻訳する.
OpencageDataを使用している場合は、APIキーとアカウントキーを1回使用すると、このような関数を作成して成功コールバックに使用できます.
ユーザーの場所の'フォーマットされた'バージョンは以下からアクセスできます.
楽しむ!
例を見たいなら、feel free to watch the tutorial for more details .
だからあなたのWebページやアプリケーションの現在のユーザーの場所を取得する必要があるとしましょう.
たぶん、あなたはそれらの場所(Googleの検索ページの下部にあるように)を表示するか、それらについてのコンテンツを調整する必要がある場所に応じている.
GeoLocation Web APIを使用してユーザーの現在位置を取得できます.
ゲル化API
で
window
ブラウザの中にオブジェクトがあるnavigator
それは、それ自身と呼ばれる更なる特性を含むオブジェクトですgeolocation
これは再び別のオブジェクトです.if (window.navigator.geolocation) {
// Geolocation available
}
すべてのブラウザがGeoLocation Web APIをサポートしているわけではないので、if文でコードをラップする価値があるかもしれませんブラウザーがそれをサポートするならば、あなたはGeoLocation APIからユーザーの位置を要求することができます
getCurrentPosition
関数.window.navigator.geolocation
.getCurrentPosition(console.log, console.log);
私は、ユーザーがあなたのウェブサイト/アプリの許可をあなたの場所を検索するためにしたいことを確認している'要求'と言う.現在位置を取得する
GetCurrentPosition関数は2つの引数をとります.
これらは、成功したジオロケーション検索または失敗があるときに実行されるコールバック関数です.
getCurrentPosition(successCallback, failureCallback);
ユーザーが同意を与えるならば、ポップアップで受け入れをクリックすることによって、あなたはユーザーの経度と緯度値を持っている成功コールバックで、オブジェクトを取り戻すでしょう.結果は以下のようになります.
{
coords = {
latitude: 51.4554803,
longitude: -2.0843058,
altitude: null,
accuracy: 49,
altitudeAccuracy: null,
heading: null,
speed: null,
},
timestamp: 1583860898576
}
あなたが実際の場所にこれらを翻訳するジオコーディングサービスを使用する必要がありますので、これらは人間の読み取り可能な形式でユーザーの場所を識別するために探している場合、これらはあまり使用されていません.ジオコーディング
いくつかのジオコーディングプロバイダがあります.チュートリアルでは、OpenCageDataを使用しました.COM(無料アカウントとAPIキー要求のために必要です)経度と緯度の値を翻訳する.
OpencageDataを使用している場合は、APIキーとアカウントキーを1回使用すると、このような関数を作成して成功コールバックに使用できます.
const successfulLookup = position => {
const { latitude, longitude } = position.coords;
fetch(`https://api.opencagedata.com/geocode/v1/json?q=${latitude}+${longitude}&key=1234`)
.then(response => response.json();
.then(console.log); // Or do whatever you want with the result
それから、あなたは単にそれをプラグインにすることができますgetCurrentPosition
関数.window.navigator.geolocation
.getCurrentPosition(successfulLookup, console.log);
あなたが返す応答は、添付のメタデータがたくさんあるが、そこにあるresults
位置の詳細がある1つのアイテムをちょうどあなたに与えるべき配列.ユーザーの場所の'フォーマットされた'バージョンは以下からアクセスできます.
results[0].formatted; // Gives something like '54, My street, My Town, My Post Code, My Country
そして、あるcomponents
プロパティは、結果の配列内の各項目の内側には、場所の各部分に直接アクセスできます.楽しむ!
例を見たいなら、feel free to watch the tutorial for more details .
Reference
この問題について(ユーザーの場所をJavaScriptで取得する方法), 我々は、より多くの情報をここで見つけました https://dev.to/codebubb/how-to-get-a-user-s-location-with-javascript-362oテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol