完全困惑。
我已经实现了React Native Maps。
我将showsUserLocation
道具设置为true。
在IOS / Xcode中,我将键/值添加到了info.plist
<key>NSLocationWhenInUseUsageDescription</key>
<string>a description lives here and stuff</string>
通过添加.gpx文件,我可以模拟用户位置。
但是在 Android 中,我无法获取showsUserLocation,showsMyLocationButton,showsCompass道具来工作。
仿真器或An / Studio中是否有允许此设置的设置?
MapView:
<MapView
provider={PROVIDER_GOOGLE}
followsUserLocation={true}
showsUserLocation={true}
showsMyLocationButton={true}
showsCompass={true}
toolbarEnabled={true}
zoomEnabled={true}
rotateEnabled={true}
style={{flex: 1}}
region={{
latitude: 51.4718,
longitude: -0.0749,
latitudeDelta: 0.01,
longitudeDelta: 0.01
}}
>
{ markers.map((each, i) => {
console.log('each: ', each);
return (
<MapView.Marker
key={i}
title={each.title}
description={each.description}
coordinate={{ latitude: each.latitude, longitude: each.longitude }}
/>
)
}) }
</MapView>
我也曾尝试为IOS模拟器提供经度/纬度,但是“调试”>“位置”>“自定义位置”将使我可以编辑 EITHER Lat 或 Long。不是都。很奇怪。
答案 0 :(得分:0)
我在Android中也遇到了同样的问题。因此,我做了一个自定义的showUserlocation。我在哪里做按钮
<View >
<TouchableOpacity onPress={() => this.find_me()} >
<Image style={{ width: 30, height: 30 }}
source={require('../resources/img/icon_pin_dark.png')} />
</TouchableOpacity>
</View>
呈现此功能。
find_me() {
this.show = true
navigator.geolocation.getCurrentPosition((position) => {
this.region = {
latitude: position.coords.latitude,
longitude: position.coords.longitude,
latitudeDelta: LATITUDE_DELTA,
longitudeDelta: LONGITUDE_DELTA
}
this.userLocation = {
latitude: position.coords.latitude,
longitude: position.coords.longitude
}
console.log('yeah')
},
(error) => {
console.log("Location provider is not enable")
},
)
}
答案 1 :(得分:0)
_onMapReady = () => this.setState({marginBottom: 0})
.........
<MapView
style={{flex: 1, marginBottom: this.state.marginBottom}}
onMapReady={this._onMapReady}
,您的初始利润率底部应为1。
这对我来说很好。