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

And*_*amp 7 android ios react-native react-native-maps

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

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

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

Chr*_*Poe 5

我刚刚自己做了这个切换。我发现它animateCamera()更通用并且允许更清晰的语法。

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

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

this.map.animateCamera({
  center: {
    latitude: 0,
    longitude: 0,
  },
  heading: 180,
});
Run Code Online (Sandbox Code Playgroud)

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

this.map.animateToRegion({
  latitude: 0,
  longitude: 0,
});
this.map.animateCamera({
  heading: 180,
});
Run Code Online (Sandbox Code Playgroud)

没那么干净。

截至目前,一个缺点animateCamera()是您似乎无法像在此处指定的区域一样将latitudeDeltaand传递longitudeDelta到属性中。center

简而言之,如果您不需要使用 a latitudeDeltaand longitudeDeltathenanimateCamera()就是正确的选择。如果我不得不推测,我会说animateToRegion()它将像其他方法一样在未来的某个时候被弃用,取而代之的是animateCamera().