iPhone標準マップのキャッシュデータを保存するMapsEnhancer

CydiaにMapsEnhancerという機能拡張ソフトが登録された。このソフトはiPhone標準マップで一度見たマップのキャッシュデータを消さずに残してくれる、という機能を持つ。ようするに一度でも見た事のある地域のマップ(航空写真でも)であれば、圏外でもマップをキャッシュから読み出して表示してくれる訳だ。ただし閲覧した事のあるマップのズームレベル以外は当然だが表示してくれない。
Cydiaからインストールすると、設定の中に”MapsEnhancer”が追加される。タップして開くと、以下の画面になる。

「Keep maps cache」をオンにすると、閲覧したマップのキャッシュデータを消さずに保存する事が出来る。オフにすると今まで通りマップアプリを終了するとキャッシュのクリアが行われる。
「Maximum zoom level」は、マップのズームレベル制御を行う。Standard=マップ、Satelite=航空写真、Hybrid=地図+写真、とそれぞれのマップ表示時のズームレベルの限界を2(世界地図レベル)〜19(詳細レベル)に設定出来る。意図的にズームレベルを制御する必要がないのであれば、Default(19)で良いと思う。
これで、一度でも見たマップはどんどんキャッシュデータとして保存されていく。iPhoneが圏外でもキャッシュ内にあるマップであれば問題なく表示してくれる。但し、これから出掛ける先の地域がSoftbankエリア外のような場合には、あらかじめマップにてその地域のマップを表示させてデータをキャッシュさせる必要がある。詳細ズームレベルで広い範囲が必要な時はかなり面倒な作業となる。
こういった用途の場合は、指定範囲のマップデータを予めダウンロードしてiPhoneに転送して利用できるOfflineMpasやxGPSのほうが理にかなってると思われる。そう考えるとMapEnhancerの利点ってなんだろう?となるのだが、それは使うヒトそれぞれなので触れないでおく。
あと、iPhoneの特性?としてフライトモードにするとGPS機能が使えない。MapsEnhancer使ってマップをキャッシュしてもフライトモードだと衛星補足だけでは現在地を表示してくれない。例え電波が届かない圏外でもフライトモード以外であれば、GPS衛星を補足できていれば現在地を表示してくれる。
もう一つ、キャッシュされたマップは”var/mobile/Library/Caches/MapTiles.sqlitedb”に追加されていく。長期にわたってキャッシュしていくと、思いのほか巨大なデータサイズになる可能性もある。例えば近畿二府四県をズームレベル19でカバーすると、数ギガ〜数十ギガバイトのサイズになるのでストレージサイズの空きが少ない人は注意して欲しい。