緯度経度からJavaScriptライブラリLeaflet.jsを使って地図上にポイントを記す枠組みを試した筆者(記事)であるが、よく見かける位置情報取得ボタンから現在位置を取得する方法を考えた。
○Geolocation APIで現在位置を取得
W3Cが公式仕様として公開しているGeolocation APIを使えばブラウザを通じた位置情報を取得できる。
Leaflet Test
Leaflet.jsのL.markerでの位置挿入の代わりに L.control(公式API)とL.DomUtil(公式API)でボタンを作成し、 Geolocation APIのGet current position(公式API)で現在位置を取得。前回も使ったL.marker(公式API)でマーカーを立てる。
htmlファイル(geo.html)で保存し、保存フォルダ/ディレクトリ(デスクトップ/20261027)からpython標準サーバを以下のコマンドで立ち上げる。
python -m http.server 8000
ブラウザでローカルホストのhttp://localhost:8000/geo.htmlにアクセスすると
現在地ボタンを押すとズームアップで現在地に移動する。
ちなみにPCで取得するGeolocation APIの位置情報は、おおよそのものとなる。今回の表示位置は㎞近く大きくずれているのであしからず
○スマホ用にアップロードして確認する
やはり、散歩やトレッキングなどで実践するには外部からスマホのブラウザでアクセスできてこそだろう。1枚のHTMLだけなので、アップロードして外部からモバイルでアクセスできればいい。
筆者はGitHubのリポジトリを活用してみることにした。アカウントがあれば、geo.htmlをindex.htmlに変えて自身のリポジトリのAddfileからアップロードし、Settingsのpagesメニューからデプロイすることでユーザー名.github.ioページで確認できる。もちろんレンタルサーバを借りていれば、そちらでも可能だ。
.











![[USBで録画や再生可能]Tinguポータブルテレビ テレビ小型 14.1インチ 高齢者向け 病院使用可能 大画面 大音量 簡単操作 車中泊 車載用バッグ付き 良い画質 HDMI端子搭載 録画機能 YouTube視聴可能 モバイルバッテリーに対応 AC電源・車載電源に対応 スタンド/吊り下げ/車載の3種類設置 リモコン付き 遠距離操作可能 タイムシフト機能付き 底部ボタン 軽量 (14.1インチ)](https://m.media-amazon.com/images/I/51-Yonm5vZL._SL500_.jpg)