Googleマップの「スター」(お気に入りの場所)が、古いものから消えて表示されなくなる問題

はじめに

Googleマップの「スター」(地図上の★アイコン)を使って、お気に入りの場所をポコポコ登録している。
主に、旅行先の「行きたいところリスト」。
お気に入りの場所を保存する – パソコン – マップ ヘルプ

しかし、どうも昔の旅行で「スター」をつけたハズの地域なのに、「全くスターが表示されない」場合がある。
昔のヤツほど怪しい。

↓の例では、過去に青森でつけたスターが全く表示されていない。
(たくさんスターをつけて、かつ削除も自分ではしていない)

北海道は、比較的最近スターをつけているので、たくさん表示(★)されている。

そこで、Googleマップの「スター」を1度バックアップして、経過観測してみることにした。

「スター」とは微妙に別件ではあるが、もともとGoogleマップで扱うKMLの上限が1000なのか?みたいな議論はあり(仕様は不明)、本件「スター」についてはどうなんだろうな?と思っていたのだ。
Max. Number of Placemarks in KML for Google Maps
Max. Number of Placemarks in KML for Google Maps – Stack Overflow

Googleマップ公式サイトには仕様が書いてないので、探っていくしかなさそう。

さて。

結論から言うと、

  • 「スター」には「表示件数」or「読み込みサイズ」の上限がある
  • 上限を超えてもGoogle内にはデータが残っており、いつでもバックアップから取得可能
  • しかし上限を超えた分は、地図上で「スター」表示されない(★アイコンなし)
  • 表示されなくなる条件は、「件数」か「サイズ」か・・・
  • いずれにしろ800~1000件あたりを超えると、危ないと思われ

という感じかなぁ。

分かんないけど。

以下、詳細にて。

※2018/12/02追記
表示されなくなったスターを、マイマップに引っ越しさせる方法は、以下を参照。
やじり鳥 Googleマップの「スター」(お気に入りの場所)をエクスポートして、Googleマイマップにインポートする方法

Googleマップの「スター」をダウンロードする(ファイル取得)

「スター」のバックアップ・ファイル(GeoJSON)は、以下のURLから取得可能。
https://takeout.google.com/settings/takeout

「マップ(場所)」だけチェックをONにして、「次へ」。

これでファイルをゲットできる。

中身は、こんな感じ。

※「スター」1個分の記述(名称や緯度経度など)

{
"geometry" : {
"coordinates" : [ 140.5961782, 40.6439597 ],
"type" : "Point"
},
"properties" : {
"Google Maps URL" : "http://maps.google.com/?cid=13916538126556719178",
"Location" : {
"Address" : "日本, 〒036-0367 青森県黒石市前町1−3",
"Business Name" : "すずのややきそば",
"Country Code" : "JP",
"Geo Coordinates" : {
"Latitude" : "40.6439597",
"Longitude" : "140.5961782"
}
},
"Published" : "2015-11-15T03:34:46Z",
"Title" : "すずのややきそば",
"Updated" : "2015-11-15T03:34:46Z"
},
"type" : "Feature"
},

上記は「スター1件分」で、スターの数だけ↑が続く、テキストファイルになっている。

自分のファイルの場合、全部で3万行だった。

GeoJsonファイルの確認

「スターが表示されない」問題について、最初に疑ったのは「もしかして古いのは自動で削除される?」ということだった

そこで、今年の1月頃に1度バックアップしておき、最近(6月)になって取得したファイルと比較してみることにした。
1月から6月までの間にも、どんどん「スター」を登録していったので、もしかしたら古いのが削除されているかも、と思ったのだ。

結果としては、特に問題なかった。

古い「スター」も、ファイル上では勝手に削除されていることはなかった。
(diffで確認した/店名変更の更新など些細な違い以外はナシ)

また、1月以降に新しく追加した「スター」は、当然ちゃんとGeoJsonにも追加されていた。

そこで、重い腰を上げてGeoJsonファイルの中身をチェックすることに。

まず、GeoJsonのスター・データには、それぞれ更新日が付いている。
またファイル上での記述も、その更新日順になっている。

"Updated" : "2015-11-15T03:34:46Z"

そこで、一番日付が古い「スター」をGoogleマップ上でみてみる。
「スター」がついていないことを、確認した。

GeoJson上では「スター」としてデータが残っているのに、地図上では「スター」として表示されない。
(地図上では★が付かない)

そして少しずつ日付の新しい「スター」を確認していき、現在のGoogleマップで「スター」として表示されていない範囲を特定した。
1500件ほどあるスターの、約850件目以降の古いスターは地図上で表示されないようだった。

ちなみに、その閾値の周辺には、ほぼ同時刻のスターが固まっている。
(同時刻のスターの中で、表示されるものと、されないものがある)
そのため「○年前より古いのは表示しない」という条件ではなさそう、という所感。
たぶん条件は、「件数」か、「サイズ」。

ちなみに、1500件あるスターのGeoJsonファイルも、1MBに達しないレベル。
サイズ的な側面で言っても、その程度でフォーマットやpaser、jsのlimitに到達しないんじゃないかな?
やはり、あるとしたらGoogle側で独自にlimitを設定している可能性か、もしくは別の条件か・・・(件数とか)。

Googleマップ上での表示確認

手元のGeoJson上で、表示される/されないの境界が分かった。

ここから更に、Googleマップ上でスターを増やしたら、どうなるだろうか?

  1. Googleマップ上で、新規にスターを1件登録してみる
  2. ページを再度読み込み(データのリロード)
  3. さっきまで「スター」になっていたモノで、一番日付の古いのがどうなっているか確認

特に変化なし。
新たに「表示されなくなったスター」は、なさそうだった。

しかし数件スターを増やしたところで、変化が出た。
さっきまで「スター表示」されていた中で、一番古いデータが「スター表示」されなくなったのだ。

以降も、繰り返しこの事象が発生した。

やはり、新しいスターを追加すると、古いスターが「スター表示」されなくなるらしい。
(地図上では★が付かない)

しかし、その詳細なロジックは不明。
数件追加毎に、1件ずつ古いのが消えたような挙動ではあったが、単なるタイムラグかもしれない。
もしくは、監視対象外のみえないところで(もっと新しいスターで)、1件追加毎に消えているヤツがあったかもしれない。

正直、そこまでウォッチするガッツはない。
なので、ロジックは不明。

いずれにしろ、自分の場合は約850件が「表示される/されない」の境界線になっていた。
件数的にそのラインが怪しいか、それくらいのサイズ/文字数(*1)が怪しいんじゃないかと。
(*1)1件あたりのサイズは、店名などによって微妙に異なるのが、まぁだいたい同じ感じじゃないかと

まとめ

とりあえず、「古いスターは表示されなくなる」という問題がハッキリして良かった。

なんかこう、永久保存版としては別の手法を考えた方がいいかもしれないな。
細かくマイマップで分けて保存するとか。

そんな感じ。

Google カテゴリーの記事一覧 – やじり鳥
旅行用アプリ カテゴリーの記事一覧 – やじり鳥

この記事を書いた人 Wrote this article

tonogata
TOP