2

以最简单的方式,我将如何为地图区域设置动画,以便我刚刚单击的标记位于屏幕的中心,并且在其他情况下位于屏幕上半部分的中心(在第 1 季和第 2 季)?

4

1 回答 1

3

您需要在您的状态下使用 Animated.Region,例如:

 region: new Animated.Region({
        latitude:       lat,
        longitude:      lng,
        latitudeDelta:  0.01,
        longitudeDelta: 0.01,
 })

然后,在选择标记后(onSelect / onPress),您可以获取它的位置并将区域动画到它:

var {region} = this.state;
region.timing({
    latitude:  newLat, // selected marker lat
    longitude: newLong, // selected marker lng
  }).start();

在渲染方法中,记得使用 MapView.Animated 并将其与动画区域连接起来。

于 2016-09-09T10:41:53.953 回答