Googleマップの「スター」(お気に入りの場所)をエクスポートして、Googleマイマップにインポートする方法

地図の「スター」はいずれ消える

Googleマップ上で「★」(スター)としてお気に入りの場所を保存している場合。
Googleマップ お気に入りの場所を保存する

※スター(黄色い★)の例
f:id:tonogata:20181202023338p:plain:w350

スターは気軽に登録できて便利だが、件数が多くなるとそのうち古いモノから表示されなくなる問題がある。
やじり鳥 Googleマップの「スター」(お気に入りの場所)が、古いものから消えて表示されなくなる問題

ただし「表示されない」だけで、データとしてはGoogle上に古いスターも残っている

本件は、この表示されないスターも含めて全てファイルでバックアップしつつ、Googleマイマップに持っていくという話。

自分の場合、1600件の「スター」のうち800件くらいしか表示されていなかった。
「マイマップ」に持っていったら、全件表示された。

ちなみに「マイマップ」は、Googleマップ上に表示することも可能。
そこら辺についても、下記にて。


Googleマップの「スター」をエクスポート

「スター」をファイルにバックアップ(アーカイブ)する方法は、Googleから提供されている。
https://takeout.google.com/settings/takeout

上記のURLから、GeoJsonファイルとして出力可能。

ログインすると、全てのデータ項目がアーカイブ対象になっているので、いったん「選択を解除」を行う。

f:id:tonogata:20181202011352p:plain:w600

次に下の方にスクロールし、「マップ(場所)」のみ選択。
マップは2つあるが、必要なのは「場所」の方。

f:id:tonogata:20181202011507p:plain:w600

ファイル形式は「zip」を選択。
配信方法は、「ダウンロードリンクをメールで送信」。

f:id:tonogata:20181202011617p:plain:w600

自分宛のメールでGeoJsonファイルが添付されてくる。

zipファイルを解凍すると、「マップ(場所)」フォルダの中に***.jsonファイルが入っているハズ。

これでエクスポートは完了。


GeoJsonをCSVに変換する

Googleのマイマップはkmlやcsvファイルをインポートできる。
なぜかGeoJsonはインポート不可。

そこで、1度GeoJsonファイルをCSVに変換する。
(インポートする際に、kmlよりCSVの方が便利なので、csvに変換)

変換は、下記のサイトから可能。
https://mygeodata.cloud/converter/geojson-to-csv

「Upload your GeoJSON File and Convert」のあたりをクリックして、先ほどのGeoJsonファイルをアップロードする。

f:id:tonogata:20181202013330p:plain:w600

「Add files」からアップするか、D&Dでアップロード。
(D&Dは、ブラウザによってはうまく動かないかも)

f:id:tonogata:20181202013548p:plain:w600

変換先がcsvになっていることを確認する。
csv・・・comma-separated values

f:id:tonogata:20181202013705p:plain:w600

「Convert Now!」で変換開始。

[f:id:tonogata:20181202013915p:plainw400]

変換が終わると、csvファイルがダウンロードできる。
(zipを解凍すると、csvファイルが入っている)


CSVファイルをマイマップにインポート

Googleマイマップに、CSVをインポートしていく。

Googleマイマップはコチラ。
https://www.google.com/mymaps/?hl=ja

「新しい地図を作成」を実行。
既存の地図へのインポートでもOKで、その場合は新規レイヤーを開く。

f:id:tonogata:20181202015038p:plain:w300

新規レイヤーで、「インポート」をクリック。

f:id:tonogata:20181202015143p:plain:w400

ちなみに、↑画面で「無題の地図」をクリックすると、地図のタイトルを変更できる。
「無題のレイヤ」をクリックすると、レイヤー名の変更。
これらの名称変更は、いつでもできる。

「インポート」を押すと、ファイルのアップロード画面になる。
そこで、先ほど作ったcsvファイルをアップする。

すると、「目印を配置する列の選択」という画面になる。
csvファイルの項目のうち、どれが緯度経度か指定してやる必要がある。

f:id:tonogata:20181202015349p:plain:w500

「X」にチェックをつけると「経度」「緯度」のラジオボタンがでるので、「経度」を選択。
続けて「Y」にもチェックをつける。

X:経度
Y:緯度

次に「マーカーのタイトルとして使用する列」に進む。
場所の名前ですね。

f:id:tonogata:20181202015646p:plain:w500

ここでは「Title」を選択する。

これで、インポートは完了。
地図上に標準アイコンが表示されるはず。

f:id:tonogata:20181202015951p:plain:w400


次に、表示を整えていく。

レイヤーの「均一のスタイル」をクリックする。

f:id:tonogata:20181202020110p:plain:w350

「個別のスタイル」(場所毎にアイコンなどを変更可能)をチョイス。
あと、ラベルについては「Title」を選択する。

f:id:tonogata:20181202020204p:plain:w400

これで、地図上のアイコンに名称が併記されるようになる。

f:id:tonogata:20181202020311p:plain:w350

ちなみに、地図上のアイコンをクリックすると、GeoJsonに入っていたデータ項目が全て表示される。

f:id:tonogata:20181202020419p:plain:w500

そして↑ペンキのアイコンをクリックすると、アイコンの種類や色を変更可能。
その横のペン型のアイコンで、Titleなどの編集画面になる。

また、下記レイヤーの三点リーダーでメニューを表示して、「データビューを開く」とやると・・・

f:id:tonogata:20181202021024p:plain:w400

csvデータが、表形式で表示される。

「Title」など、この画面で修正すると地図上でも反映される。

f:id:tonogata:20181202021131p:plain:w600

Titleの変更は地図上のアイコンをクリックしても可能なので、お好きな方で。


Googleマップで「マイマップ」の表示

「マイマップ」は、Googleマップ上でレイヤー表示できる。

スマホアプリでもWEB版でも可能。
いずれもGoogleマップのメニュー「マイプレイス」から表示する形。

ここではWEB版の方法について。
https://www.google.com/maps/

Googleマップを開き、検索ボックスの横にあるメニューを押す。

f:id:tonogata:20181202022356p:plain:w500

「マイプレイス」を選択。

f:id:tonogata:20181202022448p:plain:w300

「マイマップ」タブを選択すると、自分のマイマップの一覧が表示される。

f:id:tonogata:20181202022526p:plain:w400

これを選択すると、マイマップをGoogleマップ上で表示可能。
スマホのアプリ版でも同じような操作でOK。

・同時に読み込めるマイマップは1つのみ
・複数レイヤーの場合、表示のon/offをGoogleマップ上で指定可能

ちなみに↑画像にでてくる「国内ホテル地図」は、当方が個人的にメモで作っているマイマップ↓
www.google.com


CSVをエクセルで編集

Googleマイマップにインポートする前に、エクセルでデータを編集したい場合。
だんだん面倒になってきたので、簡潔にポイントだけ。

  1. 新規エクセルを開く
  2. 「データ」→「テキストファイル」→csvを選択
  3. 文字コードは「65001 Unicode(UTF-8)」を選択
  4. 「先頭行は見出し」にチェック
  5. 「区切り文字」はカンマ

これで、csvをエクセルで開ける。

編集した後は、再びCSVで保存。

しかしエクセルから保存したCSVファイルは文字コードがSJISになっているので、保存したCSVをテキストエディタで開き、UTF-8で保存し直す必要あり。


そんな感じ。