我是OSMdroid的新手,我目前正在尝试创建一个应用程序。问题是当我加载地图(它已下载并存储在缓存中)和缩放(通过捏或按缩放按钮)时,整个地图不会刷新。它只会刷新我的屏幕所在的部分,如果我滚动它看起来像这样:
经过一些滚动和缩放后,整个地图消失了。它只会在缩小时返回。
有人知道为什么会这样吗?我试着这样做:
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));
但这也无济于事。
答案 0 :(得分:0)
您正在放大您离线平铺图像的位置。因此,例如,您将平铺图像放到第17级,然后放大到第18级。地图会将缩放级别17缩放到18,以获得缩放时屏幕上(在缓存中)的视觉效果,但它赢了超出规模,因为它期望常规瓷砖可用。
使用适当的缩放级别创建ITileSource,或在MapView上调用setMaxZoomLevel()。