React Native MapBox 获取点击位置
React Native MapBox Get Clicked Location
我成功地将@react-native-mapbox-gl/maps 添加到我的项目中。
现在我 不需要 需要用户的当前位置,但我只需要获取用户在地图上单击的位置的坐标(纬度和经度)。我已经尝试了一切,但没有任何效果!
我的代码:
import MapboxGL, {MapView, UserLocation} from '@react-native-mapbox-gl/maps';
MapboxGL.setAccessToken(
'MyAccessToken', );
export default class .... .... {
getLastLocation(location) {
ToastMaker(location, 'short')
}
render() {
return (
<View style={{flex: 1}}>
<View style={{height: '100%',
width: '100%',
backgroundColor: 'blue'}}>
<MapView style={{ flex: 1}}
//These Don't Work!
//onUserLocationUpdate={(property) => this.getLastLocation(property)}
//onLongPress={(property) => this.getLastLocation(property[0].coordinates)}
//onLongPress={(property) => this.getLastLocation(property.geometry) }
//onLongPress={(property) => ToastMaker(property.properties.screenPointY,'short') }
>
<MapboxGL.PointAnnotation
draggable={true}
id={'1'}
selected={true}
coordinate={this.state.coordinates}
/>
</MapView>
</View>
</View>
)
}
}
* 我只需要用户在地图上选择的坐标
谢谢 *
使用MapView#onPress
属性。
<MapView
...
onPress={(feature)=>console.log('Coords:', feature.geometry.coordinates)}
>
...
</MapView>
有关完整示例,请参阅 ShowPointAnnotation.js
已编辑:修复了函数中的变量错误“特征”
我成功地将@react-native-mapbox-gl/maps 添加到我的项目中。 现在我 不需要 需要用户的当前位置,但我只需要获取用户在地图上单击的位置的坐标(纬度和经度)。我已经尝试了一切,但没有任何效果! 我的代码:
import MapboxGL, {MapView, UserLocation} from '@react-native-mapbox-gl/maps';
MapboxGL.setAccessToken(
'MyAccessToken', );
export default class .... .... {
getLastLocation(location) {
ToastMaker(location, 'short')
}
render() {
return (
<View style={{flex: 1}}>
<View style={{height: '100%',
width: '100%',
backgroundColor: 'blue'}}>
<MapView style={{ flex: 1}}
//These Don't Work!
//onUserLocationUpdate={(property) => this.getLastLocation(property)}
//onLongPress={(property) => this.getLastLocation(property[0].coordinates)}
//onLongPress={(property) => this.getLastLocation(property.geometry) }
//onLongPress={(property) => ToastMaker(property.properties.screenPointY,'short') }
>
<MapboxGL.PointAnnotation
draggable={true}
id={'1'}
selected={true}
coordinate={this.state.coordinates}
/>
</MapView>
</View>
</View>
)
}
}
* 我只需要用户在地图上选择的坐标 谢谢 *
使用MapView#onPress
属性。
<MapView
...
onPress={(feature)=>console.log('Coords:', feature.geometry.coordinates)}
>
...
</MapView>
有关完整示例,请参阅 ShowPointAnnotation.js
已编辑:修复了函数中的变量错误“特征”