Osmdroid solo vista cuadrícula -- android campo con openstreetmap campo con osmdroid camp Relacionados El problema

Osmdroid only view grid


0
vote

problema

Español

Estoy usando OsmDroid para cargar el mapa fuera de línea. Me refiero a artículo

Cuando ejecuto mi proyecto, solo muestra una cuadrícula. No sé por qué, intento un enfoque, pero no cambia nada. ingrese la descripción de la imagen aquí

Mi principal código SNIP:

  @Override protected void onCreate(Bundle savedInstanceState) {     super.onCreate(savedInstanceState);     setContentView(R.layout.activity_main);     mapView = (MapView) findViewById(R.id.mapView);      resProxy = new DefaultResourceProxyImpl(getApplicationContext());     String packageDir = "/Osmdroid";     String path = Environment.getExternalStorageDirectory() + packageDir;     File dbFile = new File(path, "map.mbtiles");     if (dbFile.exists()) {         provider = new MBTileProvider(this, dbFile);         mapView.setUseDataConnection(true);         mapView = new MapView(getApplicationContext(),          provider.getTileSource().getTileSizePixels(), resProxy, provider);     }     mapView.setMultiTouchControls(true);     mapView.setBuiltInZoomControls(true);      mapController = mapView.getController();     mapController.setZoom(provider.getMinimumZoomLevel());     GeoPoint gPt = new GeoPoint(10.813472, 106.666105);     mapController.animateTo(gPt); }   

Por favor, ¿cómo resolver esto?

resuelto

I Investigado en Internet y encontré una solución para resolver mi problema. Siguiendo de Respuesta de @osedOk. No sé por qué solo está trabajando con el archivo de MBTiles por fuentes, de lo contrario, falla.

Original en ingles

I am using Osmdroid for loading offline map. I am refer from article

When I run my project, it's just display a grid. I don't know why, I Try some approach but don't anything change. enter image description here

My mainActivity snip code :

@Override protected void onCreate(Bundle savedInstanceState) {     super.onCreate(savedInstanceState);     setContentView(R.layout.activity_main);     mapView = (MapView) findViewById(R.id.mapView);      resProxy = new DefaultResourceProxyImpl(getApplicationContext());     String packageDir = "/Osmdroid";     String path = Environment.getExternalStorageDirectory() + packageDir;     File dbFile = new File(path, "map.mbtiles");     if (dbFile.exists()) {         provider = new MBTileProvider(this, dbFile);         mapView.setUseDataConnection(true);         mapView = new MapView(getApplicationContext(),          provider.getTileSource().getTileSizePixels(), resProxy, provider);     }     mapView.setMultiTouchControls(true);     mapView.setBuiltInZoomControls(true);      mapController = mapView.getController();     mapController.setZoom(provider.getMinimumZoomLevel());     GeoPoint gPt = new GeoPoint(10.813472, 106.666105);     mapController.animateTo(gPt); } 

Please, How to resolve this ?

Resolved

I researched on internet and I found a solution to resolve my problem. Following from answer of @osedok. I don't know why it's just working with mbtiles file by sources, otherwise it's fail.

        

Lista de respuestas

0
 
vote

USTED ES INSTANCIACIÓN mapView de su archivo de diseño y luego cambiándolo. Intente configurar la instancia creada como su vista de contenido

  @Override protected void onCreate(Bundle savedInstanceState) {     super.onCreate(savedInstanceState);      resProxy = new DefaultResourceProxyImpl(getApplicationContext());     String packageDir = "/Osmdroid";     String path = Environment.getExternalStorageDirectory() + packageDir;     File dbFile = new File(path, "map.mbtiles");     if (dbFile.exists()) {         provider = new MBTileProvider(this, dbFile);         mapView.setUseDataConnection(true);         mapView = new MapView(getApplicationContext(),                                provider.getTileSource().getTileSizePixels(),                               resProxy,                                provider);     }     mapView.setMultiTouchControls(true);     mapView.setBuiltInZoomControls(true);      mapController = mapView.getController();     mapController.setZoom(provider.getMinimumZoomLevel());     GeoPoint gPt = new GeoPoint(10.813472, 106.666105);     mapController.animateTo(gPt);      // here is the important part     // Set the MapView as the root View for this Activity; done!     setContentView(mapView); }   

P.s: Asegúrese de que exista su dbFile

 

You're instantiation mapView from your layout file then changing it.. try setting the created instance as your content view

@Override protected void onCreate(Bundle savedInstanceState) {     super.onCreate(savedInstanceState);      resProxy = new DefaultResourceProxyImpl(getApplicationContext());     String packageDir = "/Osmdroid";     String path = Environment.getExternalStorageDirectory() + packageDir;     File dbFile = new File(path, "map.mbtiles");     if (dbFile.exists()) {         provider = new MBTileProvider(this, dbFile);         mapView.setUseDataConnection(true);         mapView = new MapView(getApplicationContext(),                                provider.getTileSource().getTileSizePixels(),                               resProxy,                                provider);     }     mapView.setMultiTouchControls(true);     mapView.setBuiltInZoomControls(true);      mapController = mapView.getController();     mapController.setZoom(provider.getMinimumZoomLevel());     GeoPoint gPt = new GeoPoint(10.813472, 106.666105);     mapController.animateTo(gPt);      // here is the important part     // Set the MapView as the root View for this Activity; done!     setContentView(mapView); } 

P.S: Make sure your dbFile exists

 
 
         
         

Relacionados problema

1  RAZONES PARA USAR OSMBONUSPACK VERSUS OSRM (Máquina de enrutamiento de código abierto)?  ( Reasons for using osmbonuspack versus osrm open source routing machine ) 
Actualización a la pregunta: Si estamos ejecutando nuestra propia base de datos y servidor de azulejos, ¿también debemos ejecutar nuestra propia instancia d...

0  Mapa del centro en la ubicación actual utilizando OSMDROID  ( Center map on current location using osmdroid ) 
Tengo una aplicación de Android muy básica en Kotlin. Estoy tratando de centrar el mapa en la ubicación actual del dispositivo, pero myLocationOverlay.myLo...

0  Limitando el Lat LNG con Osmdoroid Similar a LatlngBounds en Google Maps  ( Bounding the lat lng with osmdroid similar to latlngbounds in google maps ) 
En mi aplicación de Android, estoy usando enrutamiento y agrupamiento en OsmDroid, pero no puedo limitar el Latlng como lo hagamos en Google Maps con LatlngBo...

0  Mapa fuera de línea con enrutamiento  ( Offline map with routing ) 
Estoy devolopando una aplicación que usa el mapa de Osmdroid (MAPNIK) .png que funciona sin conexión, y le agregaré enrutarlo si OsmDroid funcionará conmigo y...

0  ¿Cómo limitar a MAPVIEW para mostrar solo una ciudad específica?  ( How to limit mapview to show just a specific city ) 
He visto el método OnPostFlush2 para limitar el mapeView a área específica. Ahora, mi pregunta es cómo limitar a MAPVIEW a una ciudad específica? Ej.: Pari...

1  Consulte una clase en el mismo proyecto, diferentes módulos  ( Refer to a class in same project different module ) 
Tengo el código OsmDroid de GitHub y lo tiene en un proyecto de estudio Android, con una estructura de nivel superior, así: +OpenStreetMapViewer +osmdroi...

0  Osmdroid Draw Polygon en el mapa  ( Osmdroid draw polygon on map ) 
Quiero dibujar algo como esto: Ejemplo de mapas de gooogle Pero usando Osmdroid con OpenStreetMaps. Tengo un conjunto de puntos GPS preparados, pero no pu...

1  Quiero agregar varios idiomas en Osmdroid  ( I want to add multi language in osmdroid ) 
Estoy usando OsmDroid para mapa fuera de línea, pero los mapas se muestran en inglés predeterminado, ya que los azulejos descargados están en inglés. ¿Alguien...

0  Establecer una imagen en la ubicación actual  ( Set an image on the current location ) 
Desde las últimas dos semanas, estoy desarrollando una aplicación de navegación. Quiero establecer un puntero que me muestre la ubicación actual. ¿Cómo puedo ...

0  ¿Cómo mostrar el detalle de marcador en el marcador, haga clic en Android OSM?  ( How to show marker detail on marker click in android osm ) 
Soy nuevo para usar OSM en Android.Imos muestran exitosamente OSM en Android. Pero no tengo idea " Cómo hacer clic en el marcador y mostrar detalles de marcad...




© 2022 respuesta.top Reservados todos los derechos. Centro de preguntas y respuestas reservados todos los derechos