我自己做了这个开关。我发现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() 的一个缺点是您似乎无法将 latitudeDelta 和 longitudeDelta 传递到 center 属性中,就像您可以使用区域指定 here .
简而言之,如果您不需要使用latitudeDelta 和longitudeDelta,那么animateCamera() 就是要走的路。如果我不得不推测,我会说animateToRegion() 将在未来某个时候像其他方法一样被弃用,转而支持animateCamera()。