我正在尝试开发一个 android 应用程序来处理离线地图。多亏了一些帮助,我已经创建了地图,并且能够离线加载地图。
现在我正在尝试创建路线,但我还没有很好地理解如何去做。
如果我是正确的,我必须使用具有节点、方式和关系的osm文件,如此处所述。
我的问题是,如何将此文件的数据加载到我的应用程序中?我找不到任何关于如何将这些数据加载到应用程序的示例。我发现的只是这个 osm 文件可以转换成一个更小的 pbf 文件。
谁能解释我如何使用这个 osm 数据?谁能给我一个例子?还是我采取了错误的方法?
这段代码加载了一个 700kb 的 OSM 文件,但它没有加载我的文件,因为它有 99MB。
// create the factory
SAXParserFactory factory = SAXParserFactory.newInstance();
// create a parser
SAXParser parser = factory.newSAXParser();
// create the reader (scanner)
XMLReader xmlreader = parser.getXMLReader();
// assign our handler
xmlreader.setContentHandler(osmHandler);
xmlInputStream = context.getResources().openRawResource(R.raw.lisboa);
//xmlInputStream = context.getResources().openRawResource(R.raw.milano);
//xmlInputStream = new FileInputStream(new File(Environment.getExternalStorageDirectory()+File.separator+"MyMaps","Lissabon.osm"));
xmlreader.parse(new InputSource(xmlInputStream));
osmHandler.isLoaded=true;
我正在使用 osmbonuspack_v3.4 和 osmdroid_3.0.10。
谢谢