我尝试在 iOS 上使用谷歌地图,但收到此错误:
react-native-maps:必须将 AirGoogleMaps 目录添加到您的 xCode 项目中才能支持 iOS 上的 GoogleMaps。
我正在使用react-native.maps https://github.com/react-community/react-native-maps
我按照安装说明进行操作,在 Android 中完美运行,但在 IOS 中却不行
macOS:10.14.1 (18B75)
dependencies {
"react": "16.5.0",
"react-native": "0.57.1",
"react-native-maps": "^0.22.1",
}
将此条件添加到您的
provider={Platform.OS === 'android' ? PROVIDER_GOOGLE:PROVIDER_DEFAULT}
好吧,我也遇到了同样的问题,所以这是我解决它的方法:
首先在这里遵循这个答案:
https://github.com/react-community/react-native-maps/issues/693#issuecomment-262656417
然后你需要进入 xcode > 构建设置 > 预处理器宏 > 添加 HAVE_GOOGLE_MAPS=1
P.S 在我使用的实际组件中
import MapView from "react-native-maps";
<MapView provider={MapView.PROVIDER_GOOGLE} style={styles.map} />
我的样式 > 地图:{ 位置:“绝对”, 顶部:0, 左:0, 底部:0, 右:0 }
希望这有帮助;)
或者,如果提供商对您来说不重要,只需删除
MapView
中的以下属性即可:
provider={MapView.PROVIDER_GOOGLE}
它解决了我的问题
安装库react-native-maps。按照链接说明进行操作
https://github.com/react-native-maps/react-native-maps/blob/master/docs/installation.md
将 Google 地图集成到 React Native 项目中
第 1 步:导航至
iOS/{yourproject}.xcworkspace
,在 Xcode 中打开您的项目。
第 2 步: 在 Xcode 中,转到 Xcode > 设置 > 位置选项卡。单击 DerivedData 旁边的箭头,然后删除与您的项目相关的所有派生数据。
第 3 步: 打开位于项目 ios 目录中的 Podfile,并在目标 {your project} 下添加以下行:
pod 'react-native-maps', :path => '../node_modules/react-native-maps'
pod 'GoogleMaps'
pod 'Google-Maps-iOS-Utils'
第 4 步:从 node_modules/react-native-maps/ios 复制 AirGoogleMaps 目录并将其粘贴到您的 Xcode 项目中。
第 5 步: 打开 AppDelegate.m(对于 Swift 项目,打开 AppDelegate.swift)并且:
#import <GoogleMaps/GoogleMaps.h>
应用程序委托。[GMSServices provideAPIKey:@"{API_KEY}"];
didFinishLaunchingWithOptions 方法。将 {API_KEY} 替换为您的
来自 Google Cloud Console 的实际 API 密钥。示例:
(BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
[GMSServices provideAPIKey:@"{API_KEY}"];
return YES;
}
第6步:在ios目录下,运行pod install来安装必要的pod。
第 7 步: 在 Xcode 中,转到“产品”>“清理构建文件夹”,然后单击“构建”。构建完成后,运行您的应用程序。
Note:
确保您的 Google Cloud Console 中已启用 Google 地图 iOS SDK。如果您遇到任何错误,请提供有关错误消息或日志的详细信息以获得进一步帮助。