API」を使用して位置情報を取得します。までは、Webブラウザで現在地を取得する方法としては、例えばマシンのIPアドレスから位置を特定する方法がありました。しくみはとても単純で、IPと位置情報の紐づけはデータベース化されており、その精度はデータ量によるというものでした。そのため、IPがプロキシサーバで偽装しているなどの場合に、正確な位置情報を決定できないという問題などがありました。その他理由からも、ブラウザから正確な位置情報を取得するということは、当時は困難であり、サービスコストのかかる技術だったといえます。API」の登場により、この分野の技術が劇的に改善します。GeolocationはW3Cにより策定されているAPI規格であり、JavaScriptで位置情報を取得することができるAPIです。しくみとしては、先ほどのIP情報に加えて、Wi-Fi、モバイル基地局、GPSなどあらゆる情報から位置情報を取得するため、精度のよい情報を得られます。聞くと複雑なコードをかかなければいけないように思えますが、少ないコードを書くだけで、さまざまな情報から自動的に位置を特定するため、実装コストも少なくて済みます。実際にJavascriptで位置情報を取得してみる以下、Geolocationを実装するための最小限のコードサンプルです。これだけで、現在にと緯度、経度を取得できます。詳しく書くと以下のようになります。browser}はじめに、Geolocationに対応したブラウザかどうか判定します。次に、getCurrentPositionを実行して、成功した場合の処理、失敗した場合の処理を記述します。実行には精度を高めるオプションenableHighAccuracyや、タイムアウトを設定することができます。enableHighAccuracyを有効にすると、位置情報の精度は高まりますが、レスポンスが遅くなったり、端末の消費電力も大きくなるので、注意が必要です。その他にも、位置情報をリアルタイムでトレースするなど、複雑なしくみを実装することも可能です。セキュリティについてユーザの位置情報は個人情報です。現在、GeolocationはPC、スマートフォンの各モダンブラウザで実行可能ですが、実行する前に必ず「あなたの位置情報を求めています。許可しますか?」などのメッセージが表示されます。今のところ、悪意のあるサイトで勝手に取得されるということはないようなので、安全な技術と言えそうですが、扱いには十分注意したいところです。コメントをキャンセルメールアドレスが公開されることはありません。コメントデータの処理方法の詳細はこちらをご覧ください。inc.Profileサイト「helog」は私がWeb制作に携わるなかでの経験を中心に記しています。前にも発生したんだよなぁ。」といった無駄な時間を省くことを目的に書き始めました。「へ」の「ログ」です。個人的な技術メモのようなものですが、みなさんの何か役に立つことがあればこの上ないです。