Enrutamiento sin conexión en android

Estoy tratando de desarrollar una aplicación para Android para trabajar con mapas sin conexión. Gracias a alguna ayuda, he creado el mapa, y he sido capaz de cargar los mapas sin conexión.

Ahora estoy tratando de crear rutas, pero no he entendido muy bien cómo hacerlo.

Si estoy correcto, tengo que usar un archivo osm que tiene nodo, forma y relación como se describe aquí .

Mi pregunta es, ¿cómo puedo cargar los datos de este archivo a mi aplicación? No he podido encontrar ningún ejemplo de cómo cargar estos datos en una aplicación. Todo lo que he descubierto es que este archivo osm se puede convertir en un archivo pbf más pequeño.

¿Puede alguien explicarme cómo usar estos datos osm? ¿Puede alguien darme un ejemplo? ¿O estoy tomando un enfoque equivocado?

Este código carga un archivo OSM con 700kb, pero no cargar el mío porque tiene 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; 

Estoy usando osmbonuspack_v3.4 y osmdroid_3.0.10.

Gracias

Echa un vistazo a la biblioteca Graphhopper. A partir de ahora esto parece ser la mejor biblioteca disponible para el enrutamiento de los datos de OSM en android.

https://github.com/graphhopper/graphhopper/blob/master/docs/android/index.md

Mapsforge tiene una biblioteca para comprimir datos osm y para leerlo eficientemente. Puede que no sea la solución, pero será mejor que usar un analizador SAX

  • Encontrar la posición actual en OSMdroid
  • Osmdroid: ¿Cómo puedo crear y cargar un mapa de mis propios mapas de bits (mosaicos)?
  • Osmdroid. OnItemSingleTapUp no funciona para Drawable personalizado
  • Graphhopper en Android offline enrutamiento error de archivo pbf
  • No mostrar mosaicos en la aplicación de mapas sin conexión de Android que utiliza osmdroid con el archivo MBTiles
  • Determinar la ubicación del usuario en los mapas de osm
  • Cómo girar un marcador en OSMDroid para Android?
  • Osmdroid - cambiar la carpeta del mapa local
  • Osmdroid insert el texto dentro del marcador
  • El proveedor de azulejos de Osmdroid y Mapnik ya no funciona
  • Integración de OSMDroid con fragmentos
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.