我正在开发一款与离线地图配合使用的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。
谢谢