你好我想在Map上添加一个可拖动的标记“根据Map视图更改标记的位置”所以我使用react-native-maps,
当用户滑动Map并改变他的位置时,标记会跟随在我的代码后面,所以我在控制台中记录了它,但是我在日志中看不到任何东西,或者它不是这样做的!我怎么才能使它在Map上可拖动呢?
下面是我想要实现x1c 0d1x
这是我代码
import React, {Component} from 'react';
import {StyleSheet, View} from 'react-native';
import MapView, {Marker} from 'react-native-maps';
// create a component
class App extends Component {
state = {
latlng: {
latitude: 35.1790507,
longitude: -6.1389008,
},
};
render() {
return (
<View style={styles.container}>
<MapView
style={styles.map}
region={{
latitude: 35.1790507,
longitude: -6.1389008,
latitudeDelta: 0.015,
longitudeDelta: 0.0121,
}}>
<Marker
draggable
coordinate={this.state.latlng}
title="Home"
onDragEnd={e => {
console.log('dragEnd', e.nativeEvent.coordinate);
}}
/>
</MapView>
</View>
);
}
}
const styles = StyleSheet.create({
container: {
...StyleSheet.absoluteFillObject,
// height: 400,
// width: 400,
justifyContent: 'flex-end',
alignItems: 'center',
},
map: {
...StyleSheet.absoluteFillObject,
},
});
//make this component available to the app
export default App;
1条答案
按热度按时间mm9b1k5b1#
您可以使用
MapView
的onRegionChangeComplete
属性来达成此目的。首先,更改状态对象,如下所示:
相应地更改您的
MapView
。然后定义一个处理函数,当用户在Map上拖动时,该函数将更改状态值:
希望这对你有帮助。