搭建好react-native环境后,初始化项目
参见官方搭建环境
这里引入react-native-mapbox-gl也分新旧两个版本(旧的已经不维护了),推荐使用新的,功能模块也比较多
然后引入react-native-mapbox-gl
1、旧版本
旧仓库地址
步骤
1. npm install https://github.com/nitaliano/react-native-mapbox-gl/tarball/master
2.在android/build.gradle配置如下
allprojects {
repositories {
jcenter()
maven {
url "$rootDir/../node_modules/react-native/android" }
maven {
url "https://jitpack.io" }
maven {
url "https://maven.google.com" }
}
}
3.android/app/build.gradle加入
dependencies {
implementation project(':mapbox-react-native-mapbox-gl')
}
4.得保证android sdk 28版本
找到目录android\build.gradle查看
compileSdkVersion 28
buildToolsVersion "28.0.3"
targetSdkVersion 26
5.进入android/settings.gradle 加入
include ':mapbox-react-native-mapbox-gl'
project(':mapbox-react-native-mapbox-gl').projectDir = new File(rootProject.projectDir, '../node_modules/@mapbox/react-native-mapbox-gl/android/rctmgl')
6.进入android\app\src\main\java\com\awesomeproject\MainApplication.java修改
在顶部添加
import com.facebook.react.shell.MainReactPackage;
import com.mapbox.rctmgl.RCTMGLPackage;
找到
@Override
protected List<ReactPackage> getPackages() {
@SuppressWarnings("UnnecessaryLocalVariable")
List<ReactPackage> packages = new PackageList(this).getPackages();
// Packages that cannot be autolinked yet can be added manually here, for example:
// packages.add(new MyReactNativePackage());
return packages;
}
修改成
@Override
protected List<ReactPackage> getPackages() {
return Arrays.<ReactPackage>asList(
new