【问题标题】:Keep tiles visible while loading TileOverlay Map API v2 Android在加载 TileOverlay Map API v2 Android 时保持图块可见
【发布时间】:2013-07-28 12:04:48
【问题描述】:

我希望我的TileOverlay 表现得像真正的 Google 地图。当您放大时,该图块仍然可见但像素化,直到下载新图块。

当前的行为是:当您放大时,图块会消失,并且您会看到丑陋的网格,并且用户必须等到新图块加载完毕。这有点烦人。

这个问题有解决办法吗?

【问题讨论】:

  • 此链接很有帮助。请参考此链接。 Link1Link2
  • 嗨,我现在面临同样的问题。你找到解决办法了吗?
  • 主要问题是 googlemaps 在相机移动时甚至不会开始调用 TileProvider#getTile

标签: android dictionary tile


【解决方案1】:

我通过在显示地图之前“预加载”所有缩放级别来解决这个问题(只是当前状态的复制/粘贴,需要清理):

@UiThread
private void preloadAllZoomLevels(final float zoomLevel) {
    if (zoomLevel == map.getMaxZoomLevel()) {
        map.animateCamera(CameraUpdateFactory.newLatLngZoom(new LatLng(lat, lng), 7));
        mapFragmentContainer.animate().alpha(1f);
        return;
    }
    map.moveCamera(CameraUpdateFactory.newLatLngZoom(new LatLng(lat, lng), zoomLevel));

    final float nextZoomLevel = zoomLevel + 1;
    map.setOnMapLoadedCallback(new GoogleMap.OnMapLoadedCallback() {
        @Override
        public void onMapLoaded() {
            preloadAllZoomLevels(nextZoomLevel);
        }
    });
}

【讨论】:

    【解决方案2】:

    基本上,每次 GoogleMap 想要为特定坐标绘制图块时 - 它都会要求您提供此图块。您可以使用静态图块(请参阅TileProvider),也可以提供 URL,因此 GoogleMap 会转到您的网络服务器并自动下载此图块(请参阅UrlTileProvider

    不知道它是否适合你!但是,如果它不起作用,您可以分享有关您的要求的详细信息。谢谢

    【讨论】:

    • TS 知道它是如何工作的,所以这些信息没有任何价值
    • 态度很好。这是 Stackoverflow 的适度方式。您的“答案”最多应该作为评论发布。如果您 -1 某人,请添加评论您为什么这样做是礼貌的。你只是在这里提供了一般信息。我猜你也是那个给我-1的人......非常专业
    • 对不起,我没有得到你!这不是关于 +1/-1 的争论的地方!我只是问你我的减分点而已!离开它..
    猜你喜欢
    • 1970-01-01
    • 2013-03-07
    • 1970-01-01
    • 1970-01-01
    • 2017-01-25
    • 1970-01-01
    • 2014-06-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多