使用animateToRegion()与animateCamera()的优缺点

时间:2019-06-06 00:01:02

标签: android ios react-native react-native-maps

构建react-native-maps并尝试确定使用animateToRegion与animateCamera的优缺点。过去,我们按地区来处理所有事务。

似乎像区域会是一个更好的选择,因为您不必担心高程和缩放之间的差异,并且在需要时还可以对显示的确切区域进行更精细的控制。

任何人都有任何想法或经历使他们走向另一个吗?

1 个答案:

答案 0 :(得分:0)

我自己做了这个开关。我发现animateCamera()具有更多用途,并且语法更简洁。

animateCamera()的最大优点是,您可以从单个方法调用中制作多个动画。

使用animateCamera()将坐标居中并旋转180度的示例:

this.map.animateCamera({
  center: {
    latitude: 0,
    longitude: 0,
  },
  heading: 180,
});

如果您想对animateToRegion()做同样的事情,则需要调用两个方法:

this.map.animateToRegion({
  latitude: 0,
  longitude: 0,
});
this.map.animateCamera({
  heading: 180,
});

不太干净。

截至目前,animateCamera()的一个弊端是您似乎无法像您一样将latitudeDeltalongitudeDelta传递到center属性中可以与指定here的区域一起使用。

简而言之,如果您不需要使用latitudeDeltalongitudeDelta,那么animateCamera()是您的理想选择。如果我不得不推测,我会说animateToRegion()将像其他方法一样在未来某个时候被弃用,而赞成animateCamera()