正在构建react-native-maps并且正在尝试决定使用animateToRegion和animateCamera的利弊。过去我们一直基于区域(region)进行处理。
似乎region会是一个更好的选择,因为您不必担心高程和缩放之间的差异,同时如果需要精确控制正在显示的区域,则可以更加细化地控制它。
有任何想法或经验,是导致您选择二者中的一种的吗?
正在构建react-native-maps并且正在尝试决定使用animateToRegion和animateCamera的利弊。过去我们一直基于区域(region)进行处理。
似乎region会是一个更好的选择,因为您不必担心高程和缩放之间的差异,同时如果需要精确控制正在显示的区域,则可以更加细化地控制它。
有任何想法或经验,是导致您选择二者中的一种的吗?
我刚刚自己进行了这个切换。我发现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
属性中传递 latitudeDelta
和 longitudeDelta
,详见此处。here
简而言之,如果您不需要使用 latitudeDelta
和 longitudeDelta
,则应使用 animateCamera()
。如果我必须猜测,我会说 animateToRegion()
将来也会像其他方法一样被弃用,取而代之的是 animateCamera()
。