OSMDroid非常缓慢地加载瓷砖

时间:2017-09-07 19:55:23

标签: android openstreetmap osmdroid

我使用的是osmdroid 5.6.5版(最新版本),地图图块(MAPNIK)的加载速度非常慢。

这种情况发生在我试用过的两款设备上,都有高速互联网连接(包括手机和WIFI)。

这似乎是一个问题,因为加载不应该那么慢

这是活动中的地图的代码段:

@Override
protected void onCreate( Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    appContext = getApplicationContext();

    //important! set your user agent to prevent getting banned from the osm servers
    Configuration.getInstance().load(appContext, PreferenceManager.getDefaultSharedPreferences(appContext));
    setContentView(R.layout.navigation);

    mMapView = (MapView) findViewById(map);
    mMapView.setTileSource(TileSourceFactory.MAPNIK);
    mMapView.setMultiTouchControls(true);
    mMapView.setBuiltInZoomControls(true);

    // add rotation gesture
    mRotationGestureOverlay = new RotationGestureOverlay(this, mMapView);
    mRotationGestureOverlay.setEnabled(true);
    mMapView.setMultiTouchControls(true);
    mMapView.getOverlays().add(this.mRotationGestureOverlay);



    // Set to default location
    IMapController mapController = mMapView.getController();
    mapController.setZoom(15);
    GeoPoint startPoint = new GeoPoint(48.8589654,2.2926013);
    mapController.setCenter(startPoint);
}

我似乎无法找到这种缓慢负载的原因。 有没有选择使用更简单的地图?会有帮助吗? 有没有其他解决方案,我做错了什么?

感谢。

2 个答案:

答案 0 :(得分:2)

尝试在您的应用程序中设置userAgentValue:

Configuration.getInstance().setUserAgentValue(BuildConfig.APPLICATION_ID);

答案 1 :(得分:0)

对我来说,一个建议出现在其中一个问题中。加载HTTPS时出现问题,因此用普通的HTTP替换它可以正常工作:

map.setTileSource(
    new XYTileSource("HttpMapnik",
            0, 19, 256, ".png", new String[] {
            "http://a.tile.openstreetmap.org/",
            "http://b.tile.openstreetmap.org/",
            "http://c.tile.openstreetmap.org/" },
            "© OpenStreetMap contributors")
);