iOS标记动画的持续时间未按预期运行

时间:2019-04-17 03:34:56

标签: reactjs react-native react-native-maps

iOS动画中的持续时间变量似乎不会将持续时间从默认的500ms更改为

许多示例表明这是更改持续时间的方法,但是当我更改持续时间值时,无论持续时间值如何,它似乎都停留500ms。

import Mapview, { AnimatedRegion, Marker } from 'react-native-maps';

getInitialState() {

    return {
    coordinate: new AnimatedRegion({
      latitude: LATITUDE,
      longitude: LONGITUDE,
    }),
  };
}

componentWillReceiveProps(nextProps) {
  const duration = 5000

  if (this.props.coordinate !== nextProps.coordinate) {
    if (Platform.OS === 'android') {
      if (this.marker) {
        this.marker._component.animateMarkerToCoordinate(
          nextProps.coordinate,
          duration
        );
      }
    } else {
      this.state.coordinate.timing({
        ...nextProps.coordinate,
        duration
      }).start();
    }
  }
}

render() {
  return (
    <MapView initialRegion={...}>
      <MapView.Marker.Animated
        ref={marker => { this.marker = marker }}
        coordinate={this.state.coordinate}
      />
    </MapView>
  );
}

在此示例中,我希望动画花费5秒钟,但需要500毫秒。

0 个答案:

没有答案