离线地图使用aldroid中的mapsforge
-
10-12-2019 - |
题
如何在Android中实现离线映射。我用Mapsforge库尝试了它。 它不提供威斯康星州状态的二进制映射文件。那么如何创建自己的地图二进制文件?
提前感谢。
解决方案
You will need two things:
a program that allows you to use the mapsforge library. Concerning this, you can stick with the program called AdvancedMapViewer which comes as an example with the library.
a mapfile. Bascially you have to create your own mapfile from OpenStreetMap data. This is done with a plugin for Osmosis. This plugin is described here:
https://github.com/mapsforge/mapsforge/blob/master/docs/Getting-Started-Map-Writer.md
In short it works like this:
- Install Osmosis (http://wiki.openstreetmap.org/wiki/Osmosis)
- Install the plugin (https://github.com/mapsforge/mapsforge/blob/master/docs/Getting-Started-Map-Writer.md)
- Download the data (e.g. from geofabrik.de: http://download.geofabrik.de/north-america/us/wisconsin-latest.osm.pbf)
run the osmosis task, thus run this on a shell (with osmosis in your PATH):
osmosis --read-pbf wisconsin-latest.osm.pbf --mapfile-writer file=wisconsin.map
then put the created file wisconsin.map on your device and load it from AdvancedMapViewer.