【问题标题】:Google Maps with React Native in iOS在 iOS 中使用 React Native 的 Google 地图
【发布时间】:2020-01-28 14:22:15
【问题描述】:

我是原生反应新手,正在尝试将谷歌地图添加到我的应用程序中。

我首先安装 react-native-maps 并使用以下代码创建一个新文件。

import React from 'react';
import MapView, { PROVIDER_GOOGLE } from 'react-native-maps';

export default class MapScreen extends React.Component  {  
        render() {    
            return ( 

                <MapView 
                provider={ PROVIDER_GOOGLE }
                style={{flex: 1}} 
                region={{
                    latitude: 54.721344, 
                    longitude: -6.199981
                }} 
                showsUserLocation={true} />
                ); 
                 }
        }

之后,我将以下代码添加到 ios 文件夹中的 Podfile 文件中。

target 'MapExample' do
    pod 'Yoga', path: "./node_modules/react-native/ReactCommon/yoga/Yoga.podspec"
    pod 'GoogleMaps'
end

从 google 获取我的 api 密钥后,我打开 Xcode 并将 AirGoogleMap 文件夹添加到我的项目中。然后我进入我的构建设置并将“HAVE_GOOGLE_MAPS+1”添加到预处理器宏宏中。

接下来我进入我的 AppDelegate.m 文件并添加以下行

@import GoogleMaps;

[GMSServices provideAPIKey:@"YOUR_API_KEY"]

完成所有这些后,我在 iOS 模拟器中运行了我的应用程序,当我这样做时,出现了如下所示的错误。

我不确定为什么会收到此错误,因为我已通过 Xcode 将 AirGoogleMap 添加到我的项目中。有没有办法解决这个问题?

【问题讨论】:

    标签: javascript ios reactjs react-native


    【解决方案1】:

    有时 pod 无法正常工作,因此您可能必须从头开始构建应用程序。在您的问题中,我建议您仔细阅读下面链接中的说明,并在必要时使用react-native-init 创建一个新项目。然后再试一次。最后,请注意,如果您使用的是 pod,并且当您使用 xCode 打开项目时,Libraries 部分应该是空的,并且 Target/Build Phases/Link Binary With Libraries 通常应该包含并且大部分仅包含libPods-projectname.a

    https://github.com/react-native-community/react-native-maps/blob/master/docs/installation.md

    【讨论】:

    • 最终发现是 iOS 文件夹中的配置文件有问题
    【解决方案2】:

    不能在模块外使用import,也要尝试重启整个模拟引擎。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-04-29
      • 2023-02-23
      • 1970-01-01
      • 2021-02-02
      • 1970-01-01
      • 2021-11-20
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多