通过ZoomBar组件更改缩放时禁用地图动画

时间:2014-01-10 02:13:24

标签: animation here-api

通过ZoomBar组件更改缩放时,有没有办法停止动画?

我尝试了setAttributes('none', undefined, undefined, undefined, undefined),但似乎没有任何区别。我正在通过监控transitionstarttransitionend事件来验证动画是否正在发生。

或者,有没有办法停止在addObserver("zoomLevel"...)

的回调集中报告小数缩放?

动画和分数缩放是2.5.3中引入的新行为,它破坏了我的应用程序。

1 个答案:

答案 0 :(得分:1)

获取整数zoomLevels的最简单方法是使用Math.floor()函数。类似的东西:

 map.addObserver('zoomLevel', function () {
    if (map.zoomLevel === Math.floor(map.zoomLevel){
        // doSomething
    }
  });

可在HERE Maps Github Pages

上找到此示例

然而,像这样观察zoomLevel是非常低效的,因为值仍在通过多个小数值改变并且在更新时多次触发。听取mapviewchangeend事件会更好:

map.addListener('mapviewchangeend', function (evt) {
     // doSomething
}, false);