我想開發一個Android應用程序來使用離線地圖。感謝一些幫助,我創建了地圖,並且能夠離線加載地圖。在Android中的離線路由
現在我試圖創建路線,但我還沒有很好地理解如何做到這一點。
如果我是正確的,我必須使用osm文件,該文件具有節點,路徑和關係,如here所述。
我的問題是,我怎樣才能加載這個文件的數據到我的應用程序?我一直無法找到如何將這些數據加載到應用程序的任何示例。我發現的是,這個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。
謝謝