Опитвам се да разработя приложение за Android за работа с офлайн карти. Благодарение на малко помощ, създадох картата и успях да заредя картите офлайн.
Сега се опитвам да създам маршрути, но не разбрах много добре как да го направя.
Ако съм прав, трябва да използвам osm файл, който има възли, начини и релации като описан тук.
Въпросът ми е как мога да заредя данните от този файл в моето приложение? Не успях да намеря нито един пример за това как да заредя тези данни в приложение. Всичко, което открих е, че този osm файл може да бъде преобразуван в по-малък pbf файл.
Може ли някой да ми обясни как да използвам тези osm данни? Може ли някой да ми даде пример? Или използвам грешен подход?
Този код зарежда OSM файл със 700kb, но не зарежда моя, защото има 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.
Благодаря