Search code examples
androidosmdroid

Osmdroid blank map on some devices


Before marking as a duplicate, please read the question.
I am using osmbonuspack for displaying maps in my app and keep getting blank map on some devices. Need help in solving.

  1. Yes, I've read all similar questions and tried offered solutions.
  2. Yes, I've added write external storage permission to the manifest (and requesting permissions runtime since Marshmallow).
  3. Yes, I've tried to use TileSourceFactory.MAPQUESTOSM,
    but it's not available anymore since July 2016.

Here is the initialisation:

    mMapView = (MapView) aq.id(R.id.mapview).getView();
    mMapView.setMultiTouchControls(true);
    mMapView.setTileSource(TileSourceFactory.MAPNIK);

    mMapController = (MapController) mMapView.getController();
    mMapController.setZoom(14);
    mMyLocationMarker = new MyLocationNewOverlay(getActivity(), mMapView);
    mMyLocationMarker.enableFollowLocation();
    mMapView.getOverlays().add(mMyLocationMarker);

Here are manifest permissions:

    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
    <uses-permission android:name="android.permission.INTERNET"/>
    <uses-permission android:name="android.permission.ACCESS_LOCATION"/>
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
    <uses-permission android:name="android.permission.READ_INTERNAL_STORAGE"/>
    <uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES"/>

Any help is appreciated


Solution

  • Set the user agent to your application id. See https://github.com/osmdroid/osmdroid/issues/366

    OpenStreetMapTileProviderConstants.setUserAgentValue(BuildConfig.APPLICATION_ID);