android - map View 中的平滑缩放

标签 android google-maps zooming

当我使用 MapController.setZoom(x) 时,例如,从级别 5 缩放到 15 时,缩放执行得非常快,并且通常不会加载新级别的 map 图 block 。

这对用户来说看起来不太好。是否有任何 map 内置功能可以将此更改为更慢的缩放,以便在达到 15 级之前可以加载或至少几乎加载图 block ?

最好的问候

P

最佳答案

一种更简单的方法是利用 MapController.zoomIn() 方法,该方法提供一些简单的动画来缩放步级。

这是一些代码:

    // a Quick runnable to zoom in
    int zoomLevel = mapView.getZoomLevel();
    int targetZoomLevel = 18;

    long delay = 0;
    while (zoomLevel++ < targetZoomLevel) {
        handler.postDelayed(new Runnable() {
            @Override
            public void run() {
                mapController.zoomIn();
            }
        }, delay);

        delay += 350; // Change this to whatever is good on the device
    }

它所做的是创建一系列延迟的可运行程序,每个程序都会在前一个程序之后调用 zoomIn() 350 毫秒。

这假设您有一个名为“处理程序”的处理程序附加到您的主 UI 线程

:-)

关于android - map View 中的平滑缩放,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4398412/

相关文章:

ios8 - CGAffineTransformMakeTranslation 和 CGAffineTransformScale 变换在 ios7 和 ios8 中不同

html - 如何只缩放外部 div 而不是内部 div

java - AutoCompleteTextView onItemSelectedListener 不起作用

Android:获取字符串资源的缺失翻译

java - Android 应用程序因来电而被终止

java - 谷歌地图 fragment Activity

css - 浏览器缩放更改时内容被裁剪

android - GetSystemService DOWNLOAD_SERVICE 处于非 Activity 状态

php - 将 Javascript 结果与 PHP 集成的最佳方法

javascript - OverlayView如何添加事件监听器?