トップ地図アプリMap > はじめに

地図アプリMap: はじめに

はじめに

Androidタブレット HAOVM M8 plus 上の地図アプリ Map も順調に動作するようになった。

スマホとタブレットを同時に使用するにあたっては、少し配慮が必要になる。 大きな変更ではないが、これまでのアプリ Map、MapX はそのまま残し、新たなアプリを Map3 としたい。 タイトルは Map としたいが、Android Studioにおけるプロジェクト名は map3 とする。

OSM(OpenStreetMap)のレンダリング用データは、スマホとタブレットでは共用するが、GPS軌跡データは独立させる。 他にも、個別にもつデータがあるかもしれない。

基本方針

機能拡張とスリム化

問題点やプログラムの冗長さはまだ残っている。急ぐ必要はないので、機能拡張と合わせて、少しずつ改良する。

帰宅すると、位置情報取得は停止する。移動があれば、外出かもしれないので、位置情報取得を再開する。 自宅にいることが分かれば、また、位置情報取得を停止する。就寝中は長時間位置情報取得を行わないせいか、 MapアプリをOSが停止させることがあるようである。

朝、Mapアプリを開くと、うまく起動しないことがある。強制終了して、起動しなおせば正常に動作する。 時に、強制終了がいるのは、プログラムのどこかに問題があるということであろう。

極座標と世界XY平面座標

OSM(OpenStreetMap)やGPSデータの座標系は極座標である。平面地図に描画するには、XY平面座標に変化する必要がある。 OSMデータから作り出したレンダリング用データは世界XY平面座標に変換済みである。この方が、レンダリング処理時間が短くなる。

MapXではGPSログデータも内部的には世界XY平面座標に変換した値をメモリに置いていた。 新アプリMapでは、極座標と世界XY平面座標の両データを持たせている。分かりやすさは極座標で、 描画のパフォーマンスが優れているのは XY平面座標である。

新Mapでは、今は極座標データを使ってGPS軌跡データを描画しているが、MapX同様、 XY平面座標を使うように変更した方がよいかも知れない。

今後追加する機能も関係する。急ぐ話ではないので、決定は先送りとする。

GPSロガーを分離独立する

タブレットは元々電話やデータ通信(インターネット)機能はなく、位置情報取得は正常に動作する。 スマホの場合、機内モードにすると、電話やデータ通信機能がOFFになり、しばらくは位置情報取得は続くが、そのうち、ストップする。

特に自宅にいる場合、Wi-Fiによる位置情報取得により、バッテリ消費も少なくなるが、外出の場合、 むしろ、GPSによる位置情報取得に限定した方が、位置の精度が良くなる可能性がある。

色々と試行錯誤する場合、GPSロガーを独立アプリにしておく方がやりやすい。また、GPS(ロガー)アプリは停止させてはならないが、 Mapアプリは停止させても問題はない。全体としては、バッテリ消費上も有利にできる可能性もある。

地図アプリ開発当初は、GPSアプリとMapアプリは独立させていたので、実施上の問題はない。


プログラム見直しにより、位置情報取得サービスのコードはコンパクトになった。独立させるほどの大きさはないので、 MapXと同様にMapアプリの内部Serviceとして実装した。

リファレンス