使用animateToRegion()和animateCamera()的利弊分析

8

正在构建react-native-maps并且正在尝试决定使用animateToRegion和animateCamera的利弊。过去我们一直基于区域(region)进行处理。

似乎region会是一个更好的选择,因为您不必担心高程和缩放之间的差异,同时如果需要精确控制正在显示的区域,则可以更加细化地控制它。

有任何想法或经验,是导致您选择二者中的一种的吗?

1个回答

5

我刚刚自己进行了这个切换。我发现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() 的缺点是,似乎不能像区域那样在 center 属性中传递 latitudeDeltalongitudeDelta,详见此处。here

简而言之,如果您不需要使用 latitudeDeltalongitudeDelta,则应使用 animateCamera()。如果我必须猜测,我会说 animateToRegion() 将来也会像其他方法一样被弃用,取而代之的是 animateCamera()


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接