百度地图 React Native 模块

百度地图 React Native 模块,支持 react native 0.40+ 类似滴滴,摩拜单车地图效果.

  • 所有者: zzzkk2009/react-native-baidu-map
  • 平台:
  • 許可證: MIT License
  • 分類:
  • 主題:
  • 喜歡:
    0
      比較:

Github星跟蹤圖

@zzzkk2009/react-native-baidu-map npm version

该项目基于https://github.com/lovebing/react-native-baidu-map库进行修改,在此特别感谢lovebing!

Baidu Map SDK modules and view for React Native(Android & IOS), support react native 0.40+

百度地图 React Native 模块,支持 react native 0.40+

类似滴滴,摩拜单车地图效果.

Android

Install 安装

npm install @zzzkk2009/react-native-baidu-map --save

Import 导入

Android Studio

  • settings.gradle include ':zzzkk2009-react-native-baidu-map' project(':zzzkk2009-react-native-baidu-map').projectDir = new File(settingsDir, '../node_modules/@zzzkk2009/react-native-baidu-map/android')

  • build.gradle compile project(':zzzkk2009-react-native-baidu-map')

  • MainApplicationnew BaiduMapPackage(getApplicationContext())

  • AndroidManifest.xml <meta-data android:name="com.baidu.lbsapi.API_KEY" android:value="xx"/>

  • AndroidManifest.xml <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/> <uses-permission android:name="android.permission.INTERNET"/> <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.GET_TASKS" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> <uses-permission android:name="android.permission.WRITE_SETTINGS" />

Xcode

  • Project navigator->Libraries->Add Files to 选择 node_modules/@zzzkk2009/react-native-baidu-map/ios/RCTBaiduMap.xcodeproj

  • Project navigator->Build Phases->Link Binary With Libraries 加入 libRCTBaiduMap.a

  • Project navigator->Build Settings->Search Paths, Framework search paths 添加 $(SRCROOT)/../node_modules/@zzzkk2009/react-native-baidu-map/ios/lib (选择recursive)

  • Project navigator->Build Settings->Search Paths, Header search paths 添加 $(SRCROOT)/../node_modules/@zzzkk2009/react-native-baidu-map/ios/lib (选择recursive)

  • Project navigator->Build Settings->Search Paths, Header search paths 添加 $(SRCROOT)/../node_modules/@zzzkk2009/react-native-baidu-map/ios/RCTBaiduMap (选择recursive)

  • Project navigator->Build Settings->Search Paths, Library search paths 添加 $(SRCROOT)/../node_modules/@zzzkk2009/react-native-baidu-map/ios/lib (选择recursive)

  • Project navigator->Build Phases->Link Binary With Libraries, 添加依赖, node_modules/@zzzkk2009/react-native-baidu-map/ios/lib/BaiduMapAPI下的全部framework和thiridlibs下的全部.a文件,, 以及CoreLocation.framework和QuartzCore.framework、OpenGLES.framework、SystemConfiguration.framework、CoreGraphics.framework、Security.framework、libsqlite3.0.tbd(xcode7以前为 libsqlite3.0.dylib)、CoreTelephony.framework 、libstdc++.6.0.9.tbd(xcode7以前为libstdc++.6.0.9.dylib)、CoreTelephony.framework

  • 工程右键添加"Add Files to '工程'" node_modules/@zzzkk2009/react-native-baidu-map/ios/lib/BaiduMapAPI/BaiduMapAPI_Map.framework/Resources/mapapi.bundle

  • 其它一些注意事项可参考百度地图LBS文档

AppDelegate.m init 初始化
#import "RCTBaiduMapViewManager.h"
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    ...
    [RCTBaiduMapViewManager initSDK:@"api key"];
    ...
}

Usage 使用方法

见example

import { MapView, MapTypes, MapModule, Geolocation } from '@zzzkk2009/react-native-baidu-map'

MapView Props 属性, Name, Type, Default, Extra, -----------------------, :-----:, :-------:, -------, zoomControlsVisible, bool, true, Android only, trafficEnabled, bool, false, baiduHeatMapEnabled, bool, false, mapType, number, 1, zoom, number, 10, center, object, null, {latitude: 0, longitude: 0}, marker, object, null, {latitude: 0, longitude: 0, title: ''}, markers, array, [], [marker, maker], onMapStatusChangeStart, func, undefined, Android only, onMapStatusChange, func, undefined, onMapStatusChangeFinish, func, undefined, Android only, onMapLoaded, func, undefined, onMapClick, func, undefined, onMapDoubleClick, func, undefined, onMarkerClick, func, undefined, onMapPoiClick, func, undefined, #### MapModule Methods (Deprecated)

setMarker(double lat, double lng)
setMapType(int mapType)
moveToCenter(double lat, double lng, float zoom)
Promise reverseGeoCode(double lat, double lng)
Promise reverseGeoCodeGPS(double lat, double lng)
Promise geocode(String city, String addr),
Promise getCurrentPosition()

Geolocation Methods, Method, Result, -------------------------, -------, Promise reverseGeoCode(double lat, double lng), {"address": "", "province": "", "city": "", "district": "", "streetName": "", "streetNumber": ""}, Promise reverseGeoCodeGPS(double lat, double lng), {"address": "", "province": "", "city": "", "district": "", "streetName": "", "streetNumber": ""}, Promise geocode(String city, String addr), {"latitude": 0.0, "longitude": 0.0}, Promise getCurrentPosition(), IOS: {"latitude": 0.0, "longitude": 0.0} Android: {"latitude": 0.0, "longitude": 0.0, "direction": -1, "altitude": 0.0, "radius": 0.0, "address": "", "countryCode": "", "country": "", "province": "", "cityCode": "", "city": "", "district": "", "street": "", "streetNumber": "", "buildingId": "", "buildingName": ""}

主要指標

概覽
名稱與所有者zzzkk2009/react-native-baidu-map
主編程語言Objective-C
編程語言Java (語言數: 4)
平台
許可證MIT License
所有者活动
創建於2016-12-19 14:22:30
推送於2022-04-09 02:07:42
最后一次提交2017-04-22 11:39:37
發布數0
用户参与
星數49
關注者數4
派生數10
提交數13
已啟用問題?
問題數7
打開的問題數4
拉請求數0
打開的拉請求數17
關閉的拉請求數5
项目设置
已啟用Wiki?
已存檔?
是復刻?
已鎖定?
是鏡像?
是私有?