gpt4 book ai didi

java - OSMdroid - 当没有可用图 block 时替换空网格背景(离线)

转载 作者:行者123 更新时间:2023-12-01 08:56:12 25 4
gpt4 key购买 nike

我在我的项目中使用 OSMdroid 库来在我的应用程序中显示来 self 公司本地服务器的 map 图 block (它是带有线条和空白背景的形状)。问题是,当我在离线模式下使用该应用程序并且浏览 map 时,会显示不在缓存中的图 block 的空灰色网格背景,并且我想将该空灰色网格更改为空白背景图像/图 block 。

我发现实现此目的的唯一解决方法如下:

添加图 block 叠加并将 setLoadingBackgroundColor 和 setLoadingLineColor 设置为 Color.WHITE,然后从 OnlineTileSourceBase 设置本地服务器的 TileSource。我知道这不太高效,那么有更好的方法吗?提前致谢!

    final ITileSource tileSource = new OnlineTileSourceBase(...)
{
@Override
public String getTileURLString(MapTile aTile) {
return getBaseUrl() + aTile.getX() + "+" + aTile.getY() + "+" + aTile.getZoomLevel();
}
};

tileProvider = new MapTileProviderBasic(context, tileSource);

tilesOverlay = new TilesOverlay(tileProvider , context);
tilesOverlay.setLoadingBackgroundColor(Color.WHITE);
tilesOverlay.setLoadingLineColor(Color.WHITE);

this.map.getOverlays().add(tilesOverlay);
this.map.setTileSource(tileProvider.getTileSource());

map.invalidate();

最佳答案

您的代码是添加辅助图 block 叠加层的示例。当您需要在 map 图像之上叠加另一个栅格图形时,这非常有用。

您还可以更改现有和默认图 block 叠加层的加载线和背景。这应该会让你继续前进


mMapView.getOverlayManager().getTilesOverlay().setLoadingBackgroundColor(Color.TRANSPARENT);
mMapView.getOverlayManager().getTilesOverlay().setLoadingLineColor(Color.TRANSPARENT);

关于java - OSMdroid - 当没有可用图 block 时替换空网格背景(离线),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42024468/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com