我找到了一些使用 .map 文件查看离线 map 的代码。但我找不到创建 .map 文件或为特定城市或州生成文件的方法。 谁能告诉我如何为特定城市或州创建或生成 .map 文件? 下面给出了我使用 .map 文件显示离线 map 的代码:
public class HelloMapView extends MapActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
MapView mapView = new MapView(this);
mapView.setClickable(true);
mapView.setBuiltInZoomControls(true);
mapView.setMapFile(new File("/sdcard/path/to/mapfile.map"));
setContentView(mapView);
}
}
我无法创建 .map 文件,所以请尽快为我提供解决方案。
最佳答案
首先,您需要获取特定城市、州或国家/地区的 OpenStreetMap 数据。您可以在此处找到区域提取物的链接:http://wiki.openstreetmap.org/wiki/Planet.osm#Country_and_area_extracts .我建议在 PBF 中获取数据,因为它通常是一个较小的下载。如果您需要更小或特定的区域(未提供),您可以在转换期间使用渗透将其切掉(请参阅 Osmosis wiki 中的边界框/多边形)。
接下来您需要将该数据转换为 mapsforge map 格式。这是通过 Osmosis ( http://wiki.openstreetmap.org/wiki/Osmosis#Latest_Stable_Version ) 和 mapsforge map 编写器插件 ( http://code.google.com/p/mapsforge/downloads/list ) 完成的。插件安装说明在这里:http://code.google.com/p/mapsforge/wiki/GettingStartedMapWriter .简而言之 - 提取 Osmosis,在 osmosis 目录中创建新目录插件并在那里复制 map-writer.jar。现在,从命令行执行这样的事情:
$ bin/osmosis --rb file=../data/berlin.osm.pbf --mapfile-writer file=/tmp/berlin.map
关于android - Android 中使用 .map 文件的离线 map ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9703593/