加载TileOverlay Map API v2 Android时保持瓷砖可见

时间:2013-07-28 18:37:42

标签: android dictionary tile

我希望我的TileOverlay行为与真正的Google地图一样。放大时,图块仍然可见,但会逐像素化,直到下载新图块为止。

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

这个问题有解决方法吗?

2 个答案:

答案 0 :(得分:-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);
        }
    });
}

答案 1 :(得分:-2)

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

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