Osmdroid 在某些设备上的空白地图

Osmdroid blank map on some devices

在标记为重复之前,请阅读问题。
我正在使用 osmbonuspack 在我的应用程序中显示地图,并在某些设备上不断获得空白地图。 需要帮助解决。

  1. 是的,我已经阅读了所有类似的问题并尝试了提供的解决方案。
  2. 是的,我已经向清单添加了写外部存储权限(并在 Marshmallow 之后请求权限运行时)。
  3. 是的,我尝试使用 TileSourceFactory.MAPQUESTOSM,
    但自 2016 年 7 月起不再可用。

这里是初始化:

    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);

这是清单权限:

    <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"/>

感谢任何帮助

将用户代理设置为您的应用程序 ID。看 https://github.com/osmdroid/osmdroid/issues/366

OpenStreetMapTileProviderConstants.setUserAgentValue(BuildConfig.APPLICATION_ID);