アオカケスの鳥かご

日々の出来事を綴っていきたい

現在地の郵便番号と住所を表示するだけのwebアプリ

バイクでも車でも長距離移動中はよく自分が今どこにいるのか気になります。

そんなのgoogleマップとか見ればいいじゃないかと思われるかもしれませんが、そういった地図上での自分の位置を知りたいというわけではないのです。

なんというか、文字で知りたいんです。自分は今、〇〇県××市の△△町にいるといった感じで。

 

そこでggってみるとまさに自分がやろうと思ったことを実際にやっている方がいました。

webdrawer.net

 

位置情報はHTML5のGeolocation APIを使うことで取得することができます。位置情報はGPS以外にも無線LANWiFi、携帯電話基地局IPアドレスなどからも引っ張ってきたりしているようです。

注意点として、ブラウザで位置情報を取得するためにはhttpsでなければなりません。httpだと取得できません。

 

ただ、Geolocation APIは緯度経度しか取得できません。私は緯度経度なんて見ても何も分からないので大人しくGoogle Maps APIを使って住所に変換してもらいます。

住所を取得するGeocoding APIGoogle Maps APIの中の1つ)は1ヶ月で40,000回までは無料で利用することができます。

 

自分1人で使うとしてものすごく雑な計算をすると、

60(min) × 24(h) × 30(day) = 43,200(回)

となります。一日中表示し続けることはできませんね。絶対にやりませんけど。

休日にバイクに乗って移動する時間というのは多くても10時間程度ですし、平日なんてせいぜい1時間とかそこらです。

その辺を考慮すると1人では普通に使えそうですね。逆に言うと、不特定多数に提供するのは無料枠ではほぼ不可能というわけです。

 

 

というわけで(?)、最初らへんに貼ったサイトをほぼそのまま使わせて頂いて実装しました。

 

一応ここに置いてます。※サーバには一切データは残りません

https://aokakes.sakura.ne.jp/place.html

 

できるだけリアルタイムの住所を知りたいのと通信量のバランスを考えた結果、60秒ごとにページをリロードするようにしています。60秒で町ひとつを通過するなんてことはそうそうないはずです。

ちなみに1回あたりの通信量は0.01MB(10KB)ほどです。

 

 

こういった従量課金制のサービスはコール数とか気にしていないととんでもない請求が来たりしますし、上限回数に達した時点で(課金しない限り)使い物にならなくなるので使わずに済むならそうしたいところです。

なので緯度経度情報と住所を結び付けたCSVファイルを作成しました。

f:id:aokakes:20181118010700p:plain

計3,997,996個のデータがあります。ありがとう国土交通省

頑張って郵便番号も付けたいと思います。

 

このデータを使って緯度経度情報から住所を割り出す部分はまだ作っていないので、できたらまた記事にします。たぶん。

 

 

あと、あまり関係ない話ではありますが、今後何かする予定が無いとしても実験用としてサーバを持っておくと地味に役立ちます。

さくらとかだと無料でSSLを利用できますし、今回のようにhttpsでないと使えないような機能も容易に試せます。

 

有名どころだとさくらとかconohaでしょうか。正直あまり知りません。というかこのはちゃんってCV上坂すみれだったんですね。知りませんでした。

私はさくらのスタンダードプランを契約してるんですけど、これは乗り換えを検討するべきかもしれません。