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

los*_*t17 18 android dictionary tile

我希望我TileOverlay的行为像真正的谷歌地图.放大时,图块仍然可见但按像素化,直到下载新图块.

当前的行为是:当您放大时,瓷砖消失,您看到丑陋的网格,用户必须等到新瓷砖加载.这有点烦人.

有这个问题的解决方案吗?

Boy*_*Boy 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);
        }
    });
}
Run Code Online (Sandbox Code Playgroud)