IntelMapで取得した情報をGoogleマイマップに反映させる方法
ども、たきたきでっす。
IngressのポータルをGoogleマイマップ上にインポートできる形式(kml形式)に変換する方法をまとめてみました。
恐らく、不正行為にはならないと思いますが流用するときはご注意ください
1. IntelMapからポータルの情報を調べる
IntelMapを開いた状態で、デベロッパツール(Chromeの場合)を使ってAPIのレスポンスをファイルに書き出します。
対象となるAPIは getEntities になります。 画面内に表示されているポータルの情報やらなんやらがこちらのAPIのレスポンスの中に入っていると思います(バッファもあると思うので、画面外のポータル情報とかも入ってると思います)
クリップボードにコピーしたら、ファイルとして保存してください(結構大きめなファイルなので保存に時間がかかるかもです)
保存の際は拡張子に .json をつけておいてください
2. kmlファイルに変換する
pythonのスクリプトを作ったので、このスクリプトを実行すると、kmlファイルに変換してくれます
simplekmlは外部ライブラリになっているので、pipでインストールしてみてください
上のスクリプトは、「python ingressjson2kml.py [1.で取得した拡張子を除いたファイル名]」で実行できるかと思います
エラーが無く動けば、[1.で取得した拡張子を除いたファイル名].kml というファイルが出力されていると思います
3. Googleマイマップにインポートする
「インポート」をクリックして2.で生成されたkmlファイルを指定するとしばらく時間がかかってからmap上に反映されるかと思います
↑のような感じでポータルの場所がピンでわかるようになると思います。
Googleマイマップの仕様上、最大1000件までしか登録出来ないので注意してください。
手探りで作ってみたので何か変な点とかがあったら指摘してくれると嬉しいです!
(Pythonのお作法がいまいちわからないのであんな書き方で良いのかどうか…w)