3

我找到了一些使用 .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 文件,因此请尽快为我提供解决方案。

4

7 回答 7

3

首先,您需要获取特定城市、州或国家/地区的 OpenStreetMap 数据。您可以在此处找到区域摘录的链接:http ://wiki.openstreetmap.org/wiki/Planet.osm#Country_and_area_extracts 。我建议在 PBF 中获取数据,因为它通常是较小的下载。如果您需要较小或特定的区域,但未提供,您可以在转换期间使用 osmosis 将其剪掉(请参阅 Osmosis wiki 中的边界框/多边形)。

接下来,您需要将该数据转换为 mapsforge 地图格式。它是通过 Osmosis ( http://wiki.openstreetmap.org/wiki/Osmosis#Latest_Stable_Version ) 和 mapsforge 地图编写器插件 ( http://code.google.com/p/mapsforge/downloads/list ) 完成的。插件安装说明在这里:http ://code.google.com/p/mapsforge/wiki/GettingStartedMapWriter 。简而言之 - 提取 Osmosis,在 osmosis 目录中创建新目录 plugins 并在那里复制 map-writer.jar。现在,从命令行执行如下操作:

$ bin/osmosis --rb file=../data/berlin.osm.pbf --mapfile-writer file=/tmp/berlin.map
于 2012-04-12T20:27:13.577 回答
1

您还可以查看android 的开源地图。有一个驻留在位图上的 tilesource 实现,它可以用于您的目的。

于 2012-03-14T14:29:59.910 回答
1

您可以在此处找到mapsforge 使用的地图列表

于 2013-01-22T10:56:31.557 回答
1

这一切都在 mapsforge wiki 中得到解答:

http://code.google.com/p/mapsforge/wiki/MapFileWriterOsmosis

如果您需要更多帮助,我建议您使用该项目的邮件列表:

http://groups.google.com/group/mapsforge-dev?pli=1

于 2012-03-14T17:09:49.707 回答
1

你可以使用这个我在很多应用程序中都使用过这个......

http://leaflet.cloudmade.com/

于 2012-03-14T14:22:01.803 回答
0

我认为您想制作一个用于离线显示指定地图的 android 应用程序,这是一个不错的教程。 http://www.haakseth.com/?p=30

您要做的第一件事是使用 Mobile Atlas Creator (MOBAC) 应用程序生成要显示的城市地图。然后您可以将地图渲染到地图视图中。

于 2014-11-07T03:39:16.647 回答
0

访问http://download.mapsforge.org/maps/ 获取 .map 文件

并转到http://download.geofabrik.de/index.html 获取 .osm/pbf 文件,这些文件提供附加功能(离线反向地理编码、地点、建筑物、名称、街道等...)
使用 mapsforge/graphhopper 插件

于 2017-03-24T18:37:19.007 回答