1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
<?xml version="1.0" encoding="UTF-8"?>
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
-->
<plugin xmlns="http://apache.org/cordova/ns/plugins/1.0"
xmlns:android="http://schemas.android.com/apk/res/android"
id="cordova-plugin-baidumaplocation"
version="3.2.0">
<name>BadiduMap Location</name>
<description>Cordova Geolocation Plugin,use Baidu Map SDK</description>
<license>Apache 2.0</license>
<keywords>cordova,baidu,location,geolocation</keywords>
<repo>https://github.com/aruis/cordova-plugin-baidumaplocation</repo>
<issue>https://github.com/aruis/cordova-plugin-baidumaplocation/issues</issue>
<engines>
<engine name="cordova-android" version=">=5.0.0"/>
</engines>
<js-module src="www/baidumap_location.js" name="baidumap_location">
<clobbers target="baidumap_location"/>
</js-module>
<preference name="ANDROID_KEY" default=""/>
<preference name="IOS_KEY" default=""/>
<preference name="IOS_LOCATION_DESC" default="请点击'好'以允许访问。"/>
<!-- android -->
<platform name="android">
<config-file target="res/xml/config.xml" parent="/*">
<feature name="BaiduMapLocation">
<param name="android-package" value="com.aruistar.cordova.baidumap.BaiduMapLocation"/>
</feature>
</config-file>
<config-file target="AndroidManifest.xml" parent="/*">
<!-- 这个权限用于进行网络定位-->
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"></uses-permission>
<!-- 这个权限用于访问GPS定位-->
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"></uses-permission>
<!-- 用于访问wifi网络信息,wifi信息会用于进行网络定位-->
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"></uses-permission>
<!-- 获取运营商信息,用于支持提供运营商信息相关的接口-->
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"></uses-permission>
<!-- 这个权限用于获取wifi的获取权限,wifi信息会用来进行网络定位-->
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE"></uses-permission>
<!-- 用于读取手机当前的状态-->
<uses-permission android:name="android.permission.READ_PHONE_STATE"></uses-permission>
<!-- 写入扩展存储,向扩展卡写入数据,用于写入离线定位数据-->
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission>
<!-- 访问网络,网络定位需要上网-->
<uses-permission android:name="android.permission.INTERNET"/>
<!-- SD卡读取权限,用户写入离线定位数据-->
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"></uses-permission>
</config-file>
<config-file target="AndroidManifest.xml" parent="/manifest/application">
<!-- 在application标签中声明service组件,每个app拥有自己单独的定位service -->
<service
android:name="com.baidu.location.f"
android:enabled="true"
android:process=":remote">
<intent-filter>
<action android:name="com.baidu.location.service_v2.2">
</action>
</intent-filter>
</service>
<meta-data android:name="com.baidu.lbsapi.API_KEY" android:value="$ANDROID_KEY"/>
</config-file>
<source-file src="src/android/BaiduMapLocation.java" target-dir="src/com/aruistar/cordova/baidumap"/>
<source-file src="libs/android/armeabi/liblocSDK7a.so" target-dir="libs/armeabi"/>
<source-file src="libs/android/armeabi-v7a/liblocSDK7a.so" target-dir="libs/armeabi-v7a"/>
<source-file src="libs/android/arm64-v8a/liblocSDK7a.so" target-dir="libs/arm64-v8a"/>
<source-file src="libs/android/x86/liblocSDK7a.so" target-dir="libs/x86"/>
<source-file src="libs/android/x86_64/liblocSDK7a.so" target-dir="libs/x86_64"/>
<source-file src="libs/android/BaiduLBS_Android.jar" target-dir="libs"/>
</platform>
<!--ios-->
<platform name="ios">
<config-file parent="/*" target="config.xml">
<feature name="BaiduMapLocation">
<param name="ios-package" value="BaiduMapLocation"/>
</feature>
</config-file>
<!--为了能够在iOS9中正常使用非HTTPS协议-->
<config-file parent="NSAppTransportSecurity" target="*-Info.plist">
<dict>
<key>NSAllowsArbitraryLoads</key>
<true/>
</dict>
</config-file>
<!--定位模式 TODO 设置为前后台永远定位-->
<!--NSLocationAlwaysUsageDescription / NSLocationWhenInUseUsageDescription-->
<config-file parent="NSLocationWhenInUseUsageDescription" target="*-Info.plist">
<string>$IOS_LOCATION_DESC</string>
</config-file>
<!--API_KEY-->
<config-file parent="BaiduMapLocation" target="*-Info.plist">
<dict>
<key>IOS_KEY</key>
<string>$IOS_KEY</string>
</dict>
</config-file>
<config-file platform="ios" target="*-Info.plist" parent="LSApplicationQueriesSchemes">
<array>
<string>iosamap</string>
</array>
</config-file>
<!--源文件-->
<header-file src="src/ios/BaiduMapLocation.h"/>
<source-file src="src/ios/BaiduMapLocation.mm"/>
<!--库文件-->
<framework src="libs/ios/BaiduMapAPI_Base.framework" custom="true"/>
<framework src="libs/ios/BaiduMapAPI_Location.framework" custom="true"/>
<framework src="libs/ios/BaiduMapAPI_Search.framework" custom="true"/>
<source-file src="libs/ios/thirdlibs/libcrypto.a" framework="true"/>
<source-file src="libs/ios/thirdlibs/libssl.a" framework="true"/>
<framework src="CoreLocation.framework"/>
<framework src="SystemConfiguration.framework"/>
<framework src="libsqlite3.0.tbd"/>
<framework src="CoreTelephony.framework"/>
</platform>
</plugin>