首页 > 解决方案 > 使用 animateToRegion() 与 animateCamera() 的优缺点

问题描述

构建 react-native-maps 并尝试确定使用 animateToRegion 与 animateCamera 的优缺点。过去,我们以区域为基础处理所有事情。

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

任何人有任何想法或经历导致他们选择其中一个吗?

标签: androidiosreact-nativereact-native-maps

解决方案


我自己做了这个开关。我发现它animateCamera()更加通用并且允许更简洁的语法。

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

以坐标为中心并将相机旋转 180 度的示例animateCamera()

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

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

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

没有那么干净。

截至目前,一个缺点animateCamera()是您似乎无法像使用 region 一样将 a latitudeDeltaand传递longitudeDeltacenter属性中,在此处指定。

简而言之,如果您不需要使用latitudeDelta然后是要走的路。如果我不得不推测,我会说将来某个时候会像其他方法一样被弃用,而支持.longitudeDeltaanimateCamera()animateToRegion()animateCamera()


推荐阅读