我正在使用 Expo 开发一个 React Native 应用程序,并且我正在尝试将 Google 地图集成到主屏幕上。但是,地图无法加载,仅显示空白屏幕。相关代码和配置如下:
import React from 'react';
import { StyleSheet } from 'react-native';
import MapView, { Marker, PROVIDER_GOOGLE } from 'react-native-maps';
export default function HomeScreen() {
return (
<MapView
provider={PROVIDER_GOOGLE}
style={StyleSheet.absoluteFill}
initialRegion={{
latitude: 41.0082,
longitude: 28.9784,
latitudeDelta: 0.0922,
longitudeDelta: 0.0421,
}}
>
<Marker coordinate={{ latitude: 41.0082, longitude: 28.9784 }} />
</MapView>
);
}
app.json 配置:
"ios": {
"googleServicesFile": "./GoogleService-Info.plist",
"supportsTablet": true,
"bundleIdentifier": "com.xxx.xxx.xxx",
"config": {
"googleMapsApiKey": "XXX"
}
},
我已采取的步骤:
我在 app.json 的 ios.config 部分下添加了 googleMapsApiKey。 我确保在 MapView 中使用 PROVIDER_GOOGLE。 该应用程序具有位置访问权限。 我已在 Google Cloud Console 中验证了为 iOS 版 Google Maps SDK 启用了 API 密钥。 尽管执行了这些步骤,地图屏幕仍然空白。
我尝试过的:
确认googleMapsApiKey有效且无限制。 检查是否已在 Google Cloud Console 中启用适用于 iOS 的 Google Maps SDK。 使用 expo start -c 清理了 Expo 缓存。 重新构建应用程序并在物理设备和 iOS 模拟器上进行测试。 问题:
我是否缺少 iOS 上带有 Expo 的 Google 地图的任何配置? 由于我使用的是 Expo,我是否需要包含任何其他本机依赖项或步骤? Expo 处理 googleMapsApiKey 或权限的方式是否存在问题?