レンダリングされたマップタイルを事前にダウンロードまたはキャッシュする代わりに、ベクトルマップを使用します。
ベクトルマップとビットマップ、事前にレンダリングされたタイルマップ
違いは次のとおりです。Googleマップまたは他の事前にレンダリングされたマップをキャッシュすると、デバイスに(ビットマップ)画像の数十から数千のタイルが格納されます。これらは圧縮されていても、特に国全体の地図を保存する場合はギガバイトのストレージを使用します。
また、ビットマップ画像はそれだけです:画像。マッピング、特にナビゲーションアプリケーションは、画像に表示されているものを解釈できません。そのため、彼らは最寄りのガソリンスタンド、バス停、パドリング中の川などを知りません。
ベクトルマップは特別なデータ形式です。表示するには、レンダリングする必要があります。つまり、最初に生データから画像を計算する必要があります。したがって、最大の欠点は、それらを使用するアプリケーションのCPU集約度が高くなる可能性があることです。ただし、ベクトルマップの品質と含まれる機能、およびアプリケーションの品質と機能に応じて、車、徒歩、ブート、自転車によるナビゲーションについてマップを照会できます。最寄りのレストラン、または最寄りのレターボックスに関する情報を入手できます。
ベクトルマップのもう1つの主な利点は、ビットマップデータに比べてサイズがはるかに小さいことです。事前にレンダリングされたマップタイルイメージには、覆われたエリアに比例する樹木が茂ったエリアを表す緑がかったピクセルデータが含まれる場合がありますが、同じベクトルマップは単に「樹木が茂ったエリア」と言い、境界の座標を格納します。
したがって、別の利点は、アプリケーションが上記の樹木が茂った領域をレンダリングする方法を決定することです。したがって、ユーザーはマップがどのように見えるのが好きかについてある程度の影響を与えます。マッピングアプリケーションに、ビットマップタイルの2番目のセットをダウンロードすることなく、夜間に赤/青/黒の配色に切り替えるように指示できる場合があります。いくつかの設定を変更すると、その場で再計算され、追加のメモリを占有しません。
ストレージの量、および使用可能な機能セットは、ベクトルマップに含まれるデータによって制限されます。そのため、ニーズやアプリケーションのニーズに応じて、完全なオープンストリートマップデータを取得したい人もいれば、基本セットだけでうまくいく人もいます。
また、ベクトルマップとその少量のストレージ、およびアプリケーション内でのレンダリングをカスタマイズする機能により、デスクトップ上で追加のアプリケーションを使用してマップを準備する必要はありません。ファイルをダウンロードすれば、すぐに使用できます。理論的にはこれは機能しますが、実際にはOpenStreetMapプロジェクトの元のデータファイルを構文的に異なる形式に変換する必要があります。下記参照。
ハウツーとアプリケーションに戻って、私はまだアンドロイドの初心者です。これが私が今日使用しているものです。
Open Street Mapは、フル機能のベクターマップを無料で提供するプロジェクトです。ウィキペディアと同様に、ユーザーは地図データを改善できますが、これは常に発生しています。
Mapsforge Vector Maps
オープンストリートマップの事前に組み立てられたベクトルマップは、mapsforgeプロジェクトの好意により、http://download.mapsforge.org/maps/にあります。
オリジナルのOpen Street Mapファイルを使用する
上記のmapsforgeファイルはそのまま使用できるため、最も便利なソリューションです。ただし、元のOpen Street Mapファイルから開始する場合は、このガイドに従って、Osmosisを使用して元のファイルをPBF形式からマップ形式に変換できます。典型的なコマンドラインの例は次のとおりです。
osmosis --read-pbf "hungary.osm.pbf" --mapfile-writer file="hungary.osm.map"
軌跡
マッピングアプリケーションとして、Locus Freeを使用できます。ダウンロードとインストール。
ベクターマップファイルのいずれかをダウンロードし、携帯電話のフォルダーに保存します/mnt/sdcard/Locus/MapsVector/_themes/
。個人的には、デスクトップPCにマップをダウンロードし、LinuxのSamba経由で共有するフォルダーに保存するか、Windowsマシンで共有します。次に、携帯電話でAndroid ファイルマネージャー(Sambaプラグイン付きGhost Commander、ES File Explorer File Manager)を使用して、共有場所からAndroidデバイスのLocusマッピングフォルダーにファイルをコピーします。
OruxMaps
OruxMapsアプリを使用することもできます。残念ながら、地図データを2回保存することなく、両方のアプリケーションを使用する方法をまだ見つけていません。(SDカードはシンボリックリンクをサポートしていません。内部メモリにデータがある場合は、それらを使用して、マップを一度だけ保存できます)。Androidの好みの*.map
ファイルマネージャーを再度使用して、前述のLocusフォルダーからOruxMapsがマップファイルを保存するフォルダーにファイルをコピーできます。デフォルトではこれは/mnt/sdcard/oruxmaps/mapfiles
新しいマップに切り替えます。
- 右上の「マップ」アイコンをクリックします
- ポップアップメニューの[新しい地図]をクリックします
- 右上の「オフライン」をクリックします
- * .mapマップファイルのいずれかを選択します
OruxMapsでは、サブフォルダーをナビゲートできることに注意してください。必要に応じて、ファイルマネージャーを使用して、マップをサブフォルダーに整理できます。ヒント:mapsforgeデータをOruxMapsマップフォルダーに完全にコピーでき、もう心配する必要はありません:-)
また、新しいマップファイルをデータフォルダーにコピーしているときにOruxMapsアプリを開いている場合は、[新しいマップ]ダイアログの[マップソースのリセット]をクリックして、新しいマップフォルダーを再読み込みする必要があります。ファイル。
ここだ、あなたのマップマップのテーマ設定のため、これら二つのアプリケーション上のHOWTOが。前述したように、アプリによっては、ベクトルマップのレンダリング方法に影響を与える場合があります。これには、色の設定と、ディスプレイに含めるデータと含めないデータが含まれます。