【发布时间】:2019-07-05 14:52:39
【问题描述】:
所以我正在尝试使用 react-native-maps 在我的 react native 应用程序中实现地图视图。当我使用 npm 安装它时,一切都很好,并且链接它不会出错。问题是当我尝试运行它时,我得到了
不变违规:requireNativeComponent:UIManager 中没有找到“AIRMap”。
我已将其范围缩小到 Android 端,因为那是我正在运行的模拟器。出于某种原因,gradle 文件似乎已损坏,我不知道它可能是什么。我已经尝试了我发现的大多数指南,但似乎没有一个可以解决这个问题。我试图手动链接它,删除链接等等。我也尝试添加到 GitHub 的直接链接,但也没有解决。
一些构建信息:
反应版本:0.60.0
Gradle 版本:5.4.1
模拟器版本:Pie API 28
settings.gradle:
rootProject.name = 'ProjectName'
apply from: file("../node_modules/@react-native-community/cli-platform-android/native_modules.gradle");
applyNativeModulesSettingsGradle(settings)
include ':app'
include ':react-native-maps'
project(':react-native-maps').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-maps/lib/android')
build.gradle:
implementation 'com.facebook.react:react-native:+
implementation project(':react-native-maps')
地图视图:
import MapView from 'react-native-maps'
<MapView
region={{
latitude: 42.882004,
longitude: 74.582748,
latitudeDelta: 0.0922,
longitudeDelta: 0.0421,
}}
></MapView>
最后,我还在 android 项目中创建了一个用于 Google 地图的 API。 通过启动一个新的 react-native 项目并实施 react-native-maps 来重新创建该项目是可管理的
【问题讨论】:
-
从 React Native 0.60.0 开始,将强制使用 AndroidX。您的所有 Android 代码和库也需要更新才能与 AndroidX 一起使用。我查了一下,似乎
react-native-maps还没有准备好。请参阅this issue 并尝试建议的解决方法,也许会有所帮助。
标签: react-native react-native-android react-native-maps