├── .gitignore
├── .npmignore
├── README.md
├── android
├── build.gradle
├── libs
│ ├── BaiduLBS_Android.jar
│ ├── arm64-v8a
│ │ ├── libBaiduMapSDK_base_v3_7_3.so
│ │ ├── libBaiduMapSDK_cloud_v3_7_3.so
│ │ ├── libBaiduMapSDK_map_v3_7_3.so
│ │ ├── libBaiduMapSDK_radar_v3_7_3.so
│ │ ├── libBaiduMapSDK_search_v3_7_3.so
│ │ ├── libBaiduMapSDK_util_v3_7_3.so
│ │ └── liblocSDK6a.so
│ ├── armeabi-v7a
│ │ ├── libBaiduMapSDK_base_v3_7_3.so
│ │ ├── libBaiduMapSDK_cloud_v3_7_3.so
│ │ ├── libBaiduMapSDK_map_v3_7_3.so
│ │ ├── libBaiduMapSDK_radar_v3_7_3.so
│ │ ├── libBaiduMapSDK_search_v3_7_3.so
│ │ ├── libBaiduMapSDK_util_v3_7_3.so
│ │ └── liblocSDK6a.so
│ ├── armeabi
│ │ ├── libBaiduMapSDK_base_v3_7_3.so
│ │ ├── libBaiduMapSDK_cloud_v3_7_3.so
│ │ ├── libBaiduMapSDK_map_v3_7_3.so
│ │ ├── libBaiduMapSDK_radar_v3_7_3.so
│ │ ├── libBaiduMapSDK_search_v3_7_3.so
│ │ ├── libBaiduMapSDK_util_v3_7_3.so
│ │ └── liblocSDK6a.so
│ ├── baidumapapi_base_v3_7_3.jar
│ ├── baidumapapi_cloud_v3_7_3.jar
│ ├── baidumapapi_map_v3_7_3.jar
│ ├── baidumapapi_radar_v3_7_3.jar
│ ├── baidumapapi_search_v3_7_3.jar
│ ├── baidumapapi_util_v3_7_3.jar
│ ├── openUtils.zip
│ ├── readme.txt
│ ├── x86
│ │ ├── libBaiduMapSDK_base_v3_7_3.so
│ │ ├── libBaiduMapSDK_cloud_v3_7_3.so
│ │ ├── libBaiduMapSDK_map_v3_7_3.so
│ │ ├── libBaiduMapSDK_radar_v3_7_3.so
│ │ ├── libBaiduMapSDK_search_v3_7_3.so
│ │ ├── libBaiduMapSDK_util_v3_7_3.so
│ │ └── liblocSDK6a.so
│ └── x86_64
│ │ ├── libBaiduMapSDK_base_v3_7_3.so
│ │ ├── libBaiduMapSDK_cloud_v3_7_3.so
│ │ ├── libBaiduMapSDK_map_v3_7_3.so
│ │ ├── libBaiduMapSDK_radar_v3_7_3.so
│ │ ├── libBaiduMapSDK_search_v3_7_3.so
│ │ ├── libBaiduMapSDK_util_v3_7_3.so
│ │ └── liblocSDK6a.so
└── src
│ └── main
│ ├── AndroidManifest.xml
│ ├── java
│ └── cn
│ │ └── reactnative
│ │ └── baidumap
│ │ ├── BDMapExtraData.java
│ │ ├── BDMapManager.java
│ │ ├── BDMapModule.java
│ │ ├── BDMapPackage.java
│ │ ├── InfoWindowFakeView.java
│ │ ├── InfoWindowManager.java
│ │ └── MarkerData.java
│ └── res
│ ├── drawable-mdpi
│ └── bmap_default_icon.png
│ └── drawable-xhdpi
│ └── bmap_default_icon.png
├── assets
├── icon.png
└── icon@2x.png
├── ios
├── RCTBDMap.xcodeproj
│ └── project.pbxproj
├── RCTBDMap
│ ├── RCTBDMap.h
│ ├── RCTBDMap.mm
│ ├── RCTBDMapManager.h
│ ├── RCTBDMapManager.m
│ ├── RCTBDMapMarker.h
│ ├── RCTBDMapMarker.m
│ ├── RCTCovert+BDMap.h
│ └── RCTCovert+BDMap.m
└── SDK
│ ├── BaiduMapAPI_Base.framework
│ ├── BaiduMapAPI_Base
│ ├── Headers
│ │ ├── BMKBaseComponent.h
│ │ ├── BMKGeneralDelegate.h
│ │ ├── BMKMapManager.h
│ │ ├── BMKTypes.h
│ │ ├── BMKUserLocation.h
│ │ └── BMKVersion.h
│ └── readme.txt
│ ├── BaiduMapAPI_Location.framework
│ ├── BaiduMapAPI_Location
│ ├── Headers
│ │ ├── BMKLocationComponent.h
│ │ ├── BMKLocationService.h
│ │ └── BMKLocationVersion.h
│ └── readme.txt
│ ├── BaiduMapAPI_Map.framework
│ ├── BaiduMapAPI_Map
│ ├── Headers
│ │ ├── BMKActionPaopaoView.h
│ │ ├── BMKAnnotation.h
│ │ ├── BMKAnnotationView.h
│ │ ├── BMKArcline.h
│ │ ├── BMKArclineView.h
│ │ ├── BMKCircle.h
│ │ ├── BMKCircleView.h
│ │ ├── BMKGradient.h
│ │ ├── BMKGroundOverlay.h
│ │ ├── BMKGroundOverlayView.h
│ │ ├── BMKHeatMap.h
│ │ ├── BMKLocationViewDisplayParam.h
│ │ ├── BMKMapComponent.h
│ │ ├── BMKMapStatus.h
│ │ ├── BMKMapVersion.h
│ │ ├── BMKMapView.h
│ │ ├── BMKMultiPoint.h
│ │ ├── BMKOfflineMap.h
│ │ ├── BMKOfflineMapType.h
│ │ ├── BMKOverlay.h
│ │ ├── BMKOverlayGLBasicView.h
│ │ ├── BMKOverlayPathView.h
│ │ ├── BMKOverlayView.h
│ │ ├── BMKPinAnnotationView.h
│ │ ├── BMKPointAnnotation.h
│ │ ├── BMKPolygon.h
│ │ ├── BMKPolygonView.h
│ │ ├── BMKPolyline.h
│ │ ├── BMKPolylineView.h
│ │ ├── BMKShape.h
│ │ ├── BMKTileLayer.h
│ │ └── BMKTileLayerView.h
│ ├── Resources
│ │ └── mapapi.bundle
│ │ │ ├── files
│ │ │ ├── Beijing, China.gpx
│ │ │ ├── CustomIndex
│ │ │ ├── DVDirectory.cfg
│ │ │ ├── DVDirectory_Retina.cfg
│ │ │ ├── DVHotMap.cfg
│ │ │ ├── DVHotMap_Retina.cfg
│ │ │ ├── DVHotcity.cfg
│ │ │ ├── DVHotcity_Retina.cfg
│ │ │ ├── DVSDirectory.cfg
│ │ │ ├── DVSDirectory_Retina.cfg
│ │ │ ├── DVVersion.cfg
│ │ │ ├── DVVersion_Retina.cfg
│ │ │ ├── ResPack.rs
│ │ │ ├── channel
│ │ │ ├── mapstyle.sty
│ │ │ ├── satellitestyle.sty
│ │ │ └── trafficstyle.sty
│ │ │ └── images
│ │ │ ├── baidumap_logo.png
│ │ │ ├── baidumap_logo@2x.png
│ │ │ ├── bnavi_icon_location_fixed.png
│ │ │ ├── bnavi_icon_location_fixed@2x.png
│ │ │ ├── direction_wheel.png
│ │ │ ├── direction_wheel@2x.png
│ │ │ ├── icon_action_paopao_middle_left.png
│ │ │ ├── icon_action_paopao_middle_left@2x.png
│ │ │ ├── icon_action_paopao_middle_left_highlighted.png
│ │ │ ├── icon_action_paopao_middle_left_highlighted@2x.png
│ │ │ ├── icon_action_paopao_middle_right.png
│ │ │ ├── icon_action_paopao_middle_right@2x.png
│ │ │ ├── icon_action_paopao_middle_right_highlighted.png
│ │ │ ├── icon_action_paopao_middle_right_highlighted@2x.png
│ │ │ ├── icon_cellphone.png
│ │ │ ├── icon_cellphone2.png
│ │ │ ├── icon_cellphone2@2x.png
│ │ │ ├── icon_cellphone@2x.png
│ │ │ ├── icon_center_point.png
│ │ │ ├── icon_center_point@2x.png
│ │ │ ├── icon_compass.png
│ │ │ ├── icon_compass@2x.png
│ │ │ ├── icon_compass_background.png
│ │ │ ├── icon_compass_background@2x.png
│ │ │ ├── icon_direction.png
│ │ │ ├── icon_direction@2x.png
│ │ │ ├── icon_line_nofocus.png
│ │ │ ├── icon_nav_bus.png
│ │ │ ├── icon_nav_bus@2x.png
│ │ │ ├── icon_nav_end.png
│ │ │ ├── icon_nav_end@2x.png
│ │ │ ├── icon_nav_rail.png
│ │ │ ├── icon_nav_rail@2x.png
│ │ │ ├── icon_nav_start.png
│ │ │ ├── icon_nav_start@2x.png
│ │ │ ├── icon_nav_waypoint.png
│ │ │ ├── icon_nav_waypoint@2x.png
│ │ │ ├── icon_paopao_middle_left.png
│ │ │ ├── icon_paopao_middle_left@2x.png
│ │ │ ├── icon_paopao_middle_left_highlighted.png
│ │ │ ├── icon_paopao_middle_left_highlighted@2x.png
│ │ │ ├── icon_paopao_middle_right.png
│ │ │ ├── icon_paopao_middle_right@2x.png
│ │ │ ├── icon_paopao_middle_right_highlighted.png
│ │ │ ├── icon_paopao_middle_right_highlighted@2x.png
│ │ │ ├── lineDashTexture.png
│ │ │ ├── line_texture.png
│ │ │ ├── pin_green.png
│ │ │ ├── pin_green@2x.png
│ │ │ ├── pin_purple.png
│ │ │ ├── pin_purple@2x.png
│ │ │ ├── pin_red.png
│ │ │ └── pin_red@2x.png
│ └── readme.txt
│ ├── BaiduMapAPI_Search.framework
│ ├── BaiduMapAPI_Search
│ ├── Headers
│ │ ├── BMKBusLineSearch.h
│ │ ├── BMKBusLineSearchOption.h
│ │ ├── BMKDistrictSearch.h
│ │ ├── BMKGeocodeSearch.h
│ │ ├── BMKGeocodeSearchOption.h
│ │ ├── BMKGeocodeType.h
│ │ ├── BMKPoiSearch.h
│ │ ├── BMKPoiSearchOption.h
│ │ ├── BMKPoiSearchType.h
│ │ ├── BMKRouteSearch.h
│ │ ├── BMKRouteSearchOption.h
│ │ ├── BMKRouteSearchType.h
│ │ ├── BMKSearchBase.h
│ │ ├── BMKSearchComponent.h
│ │ ├── BMKSearchVersion.h
│ │ ├── BMKShareURLSearch.h
│ │ ├── BMKShareUrlSearchOption.h
│ │ ├── BMKSuggestionSearch.h
│ │ └── BMKSuggestionSearchOption.h
│ └── readme.txt
│ └── BaiduMapAPI_Utils.framework
│ ├── BaiduMapAPI_Utils
│ ├── Headers
│ ├── BMKFavPoiInfo.h
│ ├── BMKFavPoiManager.h
│ ├── BMKGeometry.h
│ ├── BMKNavigation.h
│ ├── BMKOpenOption.h
│ ├── BMKOpenPoi.h
│ ├── BMKOpenPoiOption.h
│ ├── BMKOpenRoute.h
│ ├── BMKOpenRouteOption.h
│ ├── BMKUtilsComponent.h
│ └── BMKUtilsVersion.h
│ └── readme.txt
├── package.json
└── src
├── BDMapView.js
└── index.js
/.gitignore:
--------------------------------------------------------------------------------
1 | /.idea
2 | /node_modules
3 | /android/build
4 | *.iml
5 |
6 | # OSX
7 | #
8 | .DS_Store
9 |
10 | # Xcode
11 | #
12 | build/
13 | *.pbxuser
14 | !default.pbxuser
15 | *.mode1v3
16 | !default.mode1v3
17 | *.mode2v3
18 | !default.mode2v3
19 | *.perspectivev3
20 | !default.perspectivev3
21 | xcuserdata
22 | *.xccheckout
23 | *.moved-aside
24 | DerivedData
25 | *.hmap
26 | *.ipa
27 | *.xcuserstate
28 | project.xcworkspace
29 |
30 | # Android/IJ
31 | #
32 | .idea
33 | .gradle
34 | local.properties
35 |
36 | # node.js
37 | #
38 | node_modules/
39 | npm-debug.log
40 |
--------------------------------------------------------------------------------
/.npmignore:
--------------------------------------------------------------------------------
1 | /.idea
2 | /.babelrc
3 | /.npmignore
4 | /.eslintrc
5 | /.nvmrc
6 | /.travis.yml
7 | /local-cli/src
8 | /android/build
9 |
10 | # OSX
11 | #
12 | .DS_Store
13 |
14 | # Xcode
15 | #
16 | build/
17 | *.pbxuser
18 | !default.pbxuser
19 | *.mode1v3
20 | !default.mode1v3
21 | *.mode2v3
22 | !default.mode2v3
23 | *.perspectivev3
24 | !default.perspectivev3
25 | xcuserdata
26 | *.xccheckout
27 | *.moved-aside
28 | DerivedData
29 | *.hmap
30 | *.ipa
31 | *.xcuserstate
32 | project.xcworkspace
33 |
34 | # Android/IJ
35 | #
36 | .idea
37 | .gradle
38 | local.properties
39 |
40 | # node.js
41 | #
42 | node_modules/
43 | npm-debug.log
44 | Example
45 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | ## 安装
2 |
3 | ```
4 | npm install react-native-bdmap --save
5 | react-native link react-native-bdmap
6 | ```
7 |
8 | 此时应看到输出
9 |
10 | ```
11 | rnpm-link info Linking react-native-bdmap android dependency
12 | rnpm-link info Android module react-native-bdmap has been successfully linked
13 | rnpm-link info Linkng react-native-bdmap ios dependency
14 | rnpm-link info iOS module react-native-bdmap has been successfully linked
15 | ```
16 |
17 | 为成功
18 |
19 | Android: 入口代码
20 |
21 | 在`android/app/src/main/你的包名/MainActivity.java`中增加如下代码:
22 |
23 | ```java
24 | import android.os.Bundle;
25 | import com.baidu.mapapi.SDKInitializer;
26 |
27 | public class MainActivity extends ReactActivity {
28 |
29 | @Override
30 | protected void onCreate(Bundle savedInstanceState) {
31 | super.onCreate(savedInstanceState);
32 | SDKInitializer.initialize(this.getApplicationContext());
33 | }
34 | ...
35 | }
36 | ```
37 |
38 | Android: 添加混淆规则:
39 |
40 | 在`android/app/proguard-rules.pro`尾部,增加如下内容:
41 |
42 | ```
43 | -keep class com.baidu.** {*;}
44 | -keep class vi.com.** {*;}
45 | -dontwarn com.baidu.**
46 | ```
47 |
48 | Android: 配置API Key
49 |
50 | 在`android/app/build.gradle`中, `defaultConfig`内,增加如下代码:
51 |
52 | ```
53 | defaultConfig {
54 | // 增加下面3行:
55 | manifestPlaceholders = [
56 | BAIDU_MAP_API_KEY: "Android端ApiKey" //在此修改百度地图的APIKEY
57 | ]
58 | }
59 | ```
60 |
61 | iOS: 配置Info.plist
62 |
63 | 确保Info.plist中有以下内容
64 |
65 | ```
66 | NSAppTransportSecurity
67 |
68 | NSAllowsArbitraryLoads
69 |
70 |
71 | BDMapApiKey
72 | iOS端ApiKey
73 | CFBundleDisplayName
74 | 应用显示名称
75 | ```
76 |
77 | 如果只有应用在前台时定位,增加以下内容
78 |
79 | ```
80 | NSLocationWhenInUseUsageDescription
81 | 关于本应用为何要用此功能的描述
82 | ```
83 |
84 | 如果应用在后台时也需要定位,增加以下内容
85 |
86 | ```
87 | NSLocationAlwaysUsageDescription
88 | 关于本应用为何要用此功能的描述
89 | ```
90 |
91 | iOS: 添加依赖
92 |
93 | 将`node_modules/react-native-baidu-map/ios/SDK/`下所有.framework文件拖入工程
94 |
95 | 并将`node_modules/react-native-baidu-map/ios/SDK/BaiduMapAPI_Map.framework/Resources/mapapi.bundle`拖入工程
96 |
97 | 在Build Settings中的Framework Search Paths中,增加:
98 |
99 | `$(SRCROOT)/../node_modules/react-native-bdmap/ios/SDK`
100 |
101 | 在Build Phases中的Link Binary With Libraries中,增加:
102 |
103 | * CoreTelephony.framework
104 | * libc++.tbd
105 | * libstdc++.6.0.9.tbd
106 | * libsqlite3.tbd
107 |
108 | ## API
109 |
110 | #### getDistance({latitude, longitude}, {latitude, longitude}) => Promise
111 |
112 | 提供经纬度,获取两点之间的实际地理距离,返回单位是米
113 |
114 | #### getLocation([options]) => Promise
115 |
116 | 获取当前的位置.position包含如下字段:
117 |
118 | * code: 错误码,参见[错误码 - Android定位SDK](http://lbsyun.baidu.com/index.php?title=android-locsdk/guide/ermsg)
119 | * latitude
120 | * longitude
121 | * speed: 移动速度,可能为空
122 | * altitude: 当前高度,可能为空
123 | * address: 当前地址名字,可能为空
124 |
125 | #### watchPosition(success[, error[, options]]) => watchId
126 |
127 | 持续监听当前的位置.success回调会被多次调用,其参数意义同`getLocation()`的返回值
128 |
129 | #### clearWatch(watchId)
130 |
131 | 清除一个位置监听器
132 |
133 | #### stopObserving()
134 |
135 | 清除所有位置监听器
136 |
137 | #### geoReverse({latitude, longitude}) => Promise