-
Uniapp中使用高德地图的方式
"uni.openLocation" 打开地图,显示坐标位置
"uni.getLocation" 获取当前设备的定位信息
"uni.chooseLocation" 打开地图,并可以选择一个定位。uniapp的一个组件,用 nvue页面实现的。
-
高德地图中申请key
申请网址:https://lbs.amap.com/?ref=https://console.amap.com/dev/index
-
Android studio中高德地图权限配置
配置时请查看最新官网配置教程: uni小程序SDK
Androidmainfest.xml 文件需要修改的项
<application
android:allowBackup="true"
android:allowClearUserData="true"
android:icon="@drawable/icon"
android:label="@string/app_name"
android:largeHeap="true"
android:supportsRtl="true">
// 要填写的内容
<meta-data android:name="com.amap.api.v2.apikey\" android:value="申请的appkey"/>
<service android:name="com.amap.api.location.APSService"></service>
</application>
需要在 application 节点前添加权限
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"></uses-permission> // 允许应用程序获取粗略的位置信息,使用网络或其他无线技术。
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"></uses-permission> // 允许应用程序获取精确的位置信息,使用全球定位系统 (GPS) 或其他无线技术。
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"></uses-permission> // 允许应用程序访问WiFi网络状态信息。
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"></uses-permission> // 允许应用程序访问网络连接状态信息。
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE"></uses-permission> // 允许应用程序改变WiFi连接状态。
<uses-permission android:name="android.permission.READ_PHONE_STATE"></uses-permission> // 允许应用程序读取设备电话状态和身份识别信息。
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission> // 允许应用程序写入外部存储设备,如SD卡。
<uses-permission android:name="android.permission.INTERNET"/> // 允许应用程序访问互联网。
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"></uses-permission> // 允许应用程序挂载和卸载可移动存储设备,如SD卡。
<uses-permission android:name="android.permission.READ_LOGS"></uses-permission> // 允许应用程序读取系统日志文件。
<uses-permission android:name="android.permission.WRITE_SETTINGS"/> // 允许应用程序修改系统设置。
// 添加上方内容
<application
android:allowBackup="true"
android:allowClearUserData="true"
android:icon="@drawable/icon"
android:label="@string/app_name"
android:largeHeap="true"
android:supportsRtl="true">
.......
</application>
注意事项:
高德地图使用的 appkey 和打包使用的包名及签名文件存在对应关系,填写时请注意。填写错误会导致地图无法正常使用。
-
dcloud_properties.xml文件需要修改的项
features节点下添加
dcloud_properties.xml 文件在 assets/data 目录下
<feature name="Maps" value="io.dcloud.js.map.amap.JsMapPluginImpl"/> // 关于地图功能的配置,这个特性可以让应用程序使用地图功能
确认 Geolocation 的存在,没有的话,添加
<feature name="Geolocation" value="io.dcloud.js.geolocation.GeolocationFeatureImpl"/> // 关于地理定位功能的配置
-
lib中aar的复制
从 [email protected]_20211230\SDK\libs 目录下找相应 aar,复制到 Android studio 本地项目 libs 目录下。 "amap-libs-release.aar" // 3.7.6开始不再提供"amap-libs-release.aar"文件。改为gradle集成。"weex_amap-release.aar"或"map-amap-release.aar"需要继续集成到项目中 "geolocation-amap-release.aar" "weex_amap-release.aar" // 如果是 在 nvue文件中使用 高德map,需要这个aar "map-amap-release.aar" // 如果是 在 vue文件中使用 高德map,需要这个aar 注:如果是 在 vue和nvue文件中都有使用 高德map,那就需要这两个aar ("weex_amap-release.aar" 和 "map-amap-release.aar") 在使用了"uni.chooseLocation"的情况下,因为"uni.chooseLocation"是nvue实现的,要复制"weex_amap-release.aar"这个包。