不为android加载react本机地图(空白地图)
我已经在这上面呆了很长时间了,现在我开始想也许react native maps不能在android emulator上工作,因为我发现所有的答案似乎都适用于IOS 我目前正在使用android emulator运行我的应用程序。下面是一个简单地图的代码不为android加载react本机地图(空白地图),android,google-maps,react-native,react-native-android,Android,Google Maps,React Native,React Native Android,我已经在这上面呆了很长时间了,现在我开始想也许react native maps不能在android emulator上工作,因为我发现所有的答案似乎都适用于IOS 我目前正在使用android emulator运行我的应用程序。下面是一个简单地图的代码 class MainMap extends Component { constructor() { super(); } render(){ return ( <View
class MainMap extends Component {
constructor() {
super();
}
render(){
return (
<View style={styles.container}>
<MapView
initialRegion={{
latitude: 37.78825,
longitude: -122.4324,
latitudeDelta: 0.0922,
longitudeDelta: 0.0421,
}}
/>
</View>
)
}
}
const styles = StyleSheet.create({
container: {
position: 'absolute',
top: 0,
left: 0,
right: 0,
bottom: 0,
justifyContent: 'flex-end',
alignItems: 'center',
},
map: {
position: 'absolute',
top: 0,
width:150,
height:150,
left: 0,
right: 0,
bottom: 0,
},
});
module.exports = MainMap;
现在,当我运行react native run android
时,应用程序似乎运行良好,没有错误消息。然而,该应用程序是空白的。视图
容器可以正常加载,但其内容地图视图
根本不加载。我所看到的只是一个空白屏幕
请注意,我的模拟器上也安装了Google Play服务和Google API
既然我没有收到任何错误消息,如何调试此问题?react native maps
甚至可以在android emulator上工作吗
编辑
我已经在这上面呆了很长一段时间了,它让我无法从事我的这个项目。由于问题的性质很难调试,我将提供一个指向我的存储库的github链接,以防有人愿意复制问题并查看我的问题是什么
我只需要把地图载入就行了。代码看起来应该可以工作,但是映射没有加载
我将向任何能帮助我的人提供赏金。给
MapView
以风格
包括
var { width, height } = Dimensions.get('window')
在渲染方法中
<View style={styles.container}>
<MapView style = {styles.mapcontainer}
showsUserLocation={true}
showsMyLocationButton={false}
zoomEnabled = {true}
region={this.state.region} >
</MapView>
</View>
您仅使用
map
样式创建styles
变量,但未将该样式应用于MapView。
您需要添加以下行,该行将为地图视图指定样式
style={styles.map}
所以现在看起来
<View style={styles.container}>
<MapView
style={styles.map}
initialRegion={{
latitude: 37.78825,
longitude: -122.4324,
latitudeDelta: 0.0922,
longitudeDelta: 0.0421,
}}/>
</View>
还可以查看您遗漏的部分,以包括第二部分。如果在添加样式后仍无法查看地图,则您的密钥存在问题。激活“适用于Android的地图SDK”和“适用于iOS的地图SDK”
AndroidManifest.xml内
标记中的项目中:
出于某些原因,重新生成API密钥并在中更新它:
<meta-data
android:name="com.google.android.geo.API_KEY"
android:value="YOUR_ANDROID_KEY"/>
帮我修好了。不确定两者的设置是否相同。。不再有谷歌图标的灰色屏幕 尝试使用“container:{flex:1,justifyContent:'flex end',alignItems:'center',}的
container
样式。@ubatin我试过这个。似乎地图根本就没有加载…你有没有尝试在google api控制台中删除api密钥上的签名?我指的是包名和SHA1密钥。有时是调试密钥和释放密钥的问题。我只是问你是否考虑过这种方法?@ArpanSharma我的密钥不受限制,所以我在GoogleAPI控制台中得到的只是一个随机API键,然后我将它包含在我的meta
标记中。所以我想我在用这个approach@Bolboa你试过换钥匙吗?@Bolboa:你试过这个解决方案吗?对不起,我一直忙于其他工作,但我今天会试试:)
<View style={styles.container}>
<MapView
style={styles.map}
initialRegion={{
latitude: 37.78825,
longitude: -122.4324,
latitudeDelta: 0.0922,
longitudeDelta: 0.0421,
}}/>
</View>
<meta-data
android:name="com.google.android.geo.API_KEY"
android:value="YOUR_ANDROID_KEY"/>
<meta-data
android:name="com.google.android.geo.API_KEY"
android:value="YOUR_ANDROID_KEY"/>