react-native-baidu-map的配置實(shí)踐

想使用react-native做一個(gè)地圖應(yīng)用,安裝的過(guò)程中遇到了不少問(wèn)題,這里總結(jié)一下安裝過(guò)程

初始化一個(gè)react-native項(xiàng)目 react-native init mapApp

安裝react-native-baidu-map,適用npm安裝的時(shí)候總會(huì)被莫名其妙的被刪除一下依賴包,所以使用的yarn,yarn add react-native-baidu-map --save

然后去百度地圖開發(fā)平臺(tái)申請(qǐng)ak

應(yīng)用類型選擇android SDK

填寫發(fā)布版SHA1

獲取方式:打開cmd 輸入cd .android

輸入keytool -list -v -keystore debug.keystore

獲取指紋證書中的SHA1

填寫包名

獲取方式:mapApp/android/app/src/main/AndroidManifest.xml文件中的package="com.mapapp"

填寫完畢提交

在android目錄下的settings.gradle文件下添加以下內(nèi)容

include ':react-native-baidu-map'

project(':react-native-baidu-map').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-baidu-map/android')

在android/app目錄下的build.gradle文件下dependencies中添加以下內(nèi)容

compile project(':react-native-baidu-map')

在android/app/src/main/java/com/mapapp/MainApplication.java文件中添加以下內(nèi)容

import org.lovebing.reactnative.baidumap.BaiduMapPackage;

List ReactPackage中添加, new BaiduMapPackage(getApplicationContext())逗號(hào)不能少

在android/app/src/main目錄下的AndroidManifest.xml文件中添加以下內(nèi)容

                            <!-- 這個(gè)權(quán)限用于進(jìn)行網(wǎng)絡(luò)定位-->
            <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"></uses-permission>
            <!-- 這個(gè)權(quán)限用于訪問(wèn)GPS定位-->
            <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"></uses-permission>              
            <uses-permission android:name="android.permission.INTERNET" />
            <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/>
            <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
            <uses-permission android:name="com.android.launcher.permission.READ_SETTINGS" />
            <uses-permission android:name="android.permission.WAKE_LOCK"/>
            <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
            <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
            <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
            <uses-permission android:name="android.permission.WRITE_SETTINGS" />
            
            
            <meta-data  
                android:name="com.baidu.lbsapi.API_KEY"  
                android:value="ep76v15zBgBFPch30RAsYl3PihzIlTh4"/>  
                ep76v15zBgBFPch30RAsYl3PihzIlTh4</br>就是在百度地圖開放圖片上面申請(qǐng)的key

走到這一步基本配置已經(jīng)差不多ok了
在你的應(yīng)用中引入react-natvie-baidu-map并使用,然后運(yùn)行項(xiàng)目

這個(gè)時(shí)候應(yīng)該會(huì)報(bào)錯(cuò),node_modules\react-native-baidu-map\android\src\main\java\org\lovebing\reactnative\baidumap\BaiduMapPackage.java:49: 錯(cuò)誤: 方法不會(huì)覆蓋或?qū)崿F(xiàn)超類型的方法

如果遇到這個(gè)錯(cuò)誤刪除掉這個(gè)路徑下的依賴文件中的@Override方法

再次運(yùn)行,這時(shí)命令行應(yīng)該不會(huì)報(bào)錯(cuò)了,但是在模擬器上應(yīng)該是一片紅色報(bào)錯(cuò),react-native-baidu-map undefined is not an object(evaluting 'a.PropTypes.bool')

將node_modules\react-native-baidu-map\js\MapView.js中的import React, {
Component,
PropTypes
} from 'react';
對(duì)PropTypes的引用修改為import PropTypes from 'prop-types'

再次啟動(dòng),ok

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 179,008評(píng)論 25 709
  • 簡(jiǎn)短說(shuō)明 收錄一些好用的RN第三方組件,以方便日常的使用,大家有什么推薦的也可以跟我說(shuō),我加進(jìn)去。如有冒犯,可以聯(lián)...
    以德扶人閱讀 43,906評(píng)論 44 214
  • afinalAfinal是一個(gè)android的ioc,orm框架 https://github.com/yangf...
    passiontim閱讀 15,869評(píng)論 2 45
  • 01 一個(gè)同事小Y突然辭職了,原因是要準(zhǔn)備國(guó)考,她不想這樣每天稀里糊涂的忙,只想有一份穩(wěn)定的工作,肯定比現(xiàn)在好的多...
    靜女城隅閱讀 424評(píng)論 0 3
  • 道是無(wú)情終有情, 一生坎坷事未成。 空懷寂寞崖頭坐, 夜風(fēng)吹過(guò)山里紅。 楊土原/作品 ...
    黃土原閱讀 614評(píng)論 14 7

友情鏈接更多精彩內(nèi)容