Android OSM滚动地图

时间:2013-08-06 14:39:17

标签: android maps osmdroid openstreetmap

我是OSMdroid的新手,我目前正在尝试创建一个应用程序。问题是当我加载地图(它已下载并存储在缓存中)和缩放(通过捏或按缩放按钮)时,整个地图不会刷新。它只会刷新我的屏幕所在的部分,如果我滚动它看起来像这样:

enter image description here

经过一些滚动和缩放后,整个地图消失了。它只会在缩小时返回。

有人知道为什么会这样吗?我试着这样做:

mapView.get().setMapListener(new DelayedMapListener(new MapListener() {

        @Override
        public boolean onZoom(ZoomEvent arg0) {
            mapView.get().getTileProvider().clearTileCache(); 
            return false;
        }

        @Override
        public boolean onScroll(ScrollEvent arg0) {

            return false;
        }
    },100));

但这也无济于事。

1 个答案:

答案 0 :(得分:0)

您正在放大您离线平铺图像的位置。因此,例如,您将平铺图像放到第17级,然后放大到第18级。地图会将缩放级别17缩放到18,以获得缩放时屏幕上(在缓存中)的视觉效果,但它赢了超出规模,因为它期望常规瓷砖可用。

使用适当的缩放级别创建ITileSource,或在MapView上调用setMaxZoomLevel()。