React Native Maps:事件侦听器无法正常工作

时间:2016-09-08 23:15:49

标签: javascript reactjs react-native

我试图触发一些事件监听器,这样一旦用户停止在屏幕上拖动手指,我就可以调用API。我正在运行react-native 0.32并使用react-native-maps npm模块。下面是我使用的代码的准系统版本,似乎没有任何事件像我期望的那样工作:

import React, { Component } from 'react';
import MapView from 'react-native-maps';
import {
  StyleSheet,
  View,
} from 'react-native';

var styles = StyleSheet.create({
    container: {
        backgroundColor: '#003D40',
        flex: 1,
        marginTop: 65
    },
    map: {
        position: 'absolute',
        top: 0,
        left: 0,
        right: 0,
        bottom: 0,
      },
})
class Main extends React.Component{
    constructor(props) {
        super(props);
        this.state = {
            region: {
              latitude: 37.78825,
              longitude: -122.4324,
              latitudeDelta: 0.0922,
              longitudeDelta: 0.0421,
            }
        }
    }
    onRegionChange(region) {
      this.setState({
        region: region
      });
    }
    render() {
        return (
            <View style={styles.container}>
                <MapView.Animated
                      region={this.state.region}
                      onRegionChange={this.onRegionChange.bind(this)}
                      style={ styles.map }                    
                 >
                    <MapView.Marker 
                          coordinate={this.state.region}
                          draggable
                          onSelect={() => console.log('onSelect', arguments)}
                          onDrag={() => console.log('onDrag', arguments)}
                          onDragStart={() => console.log('onDragStart', arguments)}

                      />
                 </MapView.Animated>
            </View>
        )
    }
}
module.exports = Main;

关于如何让它发挥作用的任何想法?任何帮助将不胜感激!

1 个答案:

答案 0 :(得分:0)

您使用的react-native-maps的版本是什么?我认为你是旧版本(0.7.1),它与0.32不兼容。你应该使用0.8.2。请查看以下线程以了解导致的问题

https://github.com/lelandrichardson/react-native-maps/issues/497 和公关 https://github.com/lelandrichardson/react-native-maps/pull/502