OSMDroid加载瓦片非常缓慢。

6
我正在使用osmdroid 5.6.5版本(最新版本),但MAPNIK地图瓦片加载速度极慢。
我在两台设备上尝试应用程序,都使用高速互联网连接(蜂窝数据和WIFI)。
看起来这是一个问题,因为不可能加载得那么慢。
以下是Activity中带有地图的代码片段:
@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);
}

我似乎找不到这个缓慢加载的原因。是否有使用更简单的地图选项?那会有帮助吗?还有其他解决方案吗?我可能做错了什么吗?

谢谢。


你的浏览器在 http://openstreetmap.org/ 上加载瓦片是否更快?你可以尝试使用不同的瓦片源。这可能有很多原因。也许OSM瓦片服务器目前存在问题。也许只是你所在地理区域的瓦片服务器出现了问题。也许osmdroid的访问已经被限制,但这对你来说不应该是问题,因为你似乎设置了不同的用户代理。 - scai
1
@scai 浏览器上的瓦片加载速度快多了,而且更加流畅。 我尝试使用OpenTopo作为瓦片提供者,但它也加载得很慢。 这在每个地理位置都会发生。我似乎找不到原因。 - Mickey
2个回答

3

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

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

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接