【问题标题】:osmdroid shows flickering overlay tilesosmdroid 显示闪烁的覆盖图块
【发布时间】:2020-03-09 00:02:14
【问题描述】:

我正在使用osmdroid 6.1.2版在android下显示地图应用程序(在android版本从4.0.3、7.0、8.0到9.0的不同设备上测试,效果没有区别)。

只要我只使用一个主层(例如 MAPNIK),一切都可以。但是当我添加一个覆盖(例如 PUBLIC_TRANSPORT)时,一些地图图块(哪些是不可预测的)显示闪烁的内容。事实上,这些瓦片的地图图层每秒会被不同的旧内容替换几次,可能来自缓存。背景地图一直保持稳定,但叠加层却在暴动。

即使在所有图块完全下载后,此效果仍然存在 - 使用 TileStates.getUpToDate(); 进行检查

mapView.invalidate();也无济于事。

代码 sn-ps(为了更好的概览而简化):

// background map
MapView mapView = (MapView) findViewById(R.id.mapview);
MapTileSource mapTileSource = new MapTileSource(this);
mapView.setTileSource(TileSourceFactory.MAPNIK);

// overlay map
ITileSource iTileSource = TileSourceFactory.PUBLIC_TRANSPORT;
MapTileProviderBasic provider = new MapTileProviderBasic(getApplicationContext());
provider.setTileSource(iTileSource);
TilesOverlay tilesOverlay = new TilesOverlay(provider, this.getBaseContext());
tilesOverlay.setLoadingBackgroundColor(Color.TRANSPARENT);
mapView.getOverlays().add(tilesOverlay);

在 layout.xml 中

<org.osmdroid.views.MapView
    android:id="@+id/mapview"
    android:layout_width="match_parent"
    android:layout_height="match_parent" />

【问题讨论】:

    标签: android overlay tiles osmdroid flicker


    【解决方案1】:

    从 6.1.6 版开始,osmdroid 团队已修复此错误。见here

    【讨论】:

      猜你喜欢
      • 2013-04-29
      • 2011-09-17
      • 1970-01-01
      • 2014-10-20
      • 2011-11-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-07-27
      相关资源
      最近更新 更多