经过两天的疯狂实验,终于在手机上把高德地图显示出来了。其中因为思路不清晰,导致了各种错误的出现。当然也包括高德文档的滞后性带来的误操作。
废话不说,配置介绍如下:
权限配置,如下:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
<!--Based on your own package name -->
package="com.marasun.amptest">
<!-- //安卓所需权限 -->
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<!-- //获取设备网络状态,禁用后无法获取网络状态 -->
<uses-permission android:name="android.permission.INTERNET"/>
<!-- //网络权限,当禁用后,无法进行检索等相关业务 -->
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<!-- //读取设备硬件信息,统计数据 -->
<uses-permission android:name="com.android.launcher.permission.READ_SETTINGS" />
<!-- //读取系统信息,包含系统版本等信息,用作统计 -->
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<!-- //获取设备的网络状态,鉴权所需网络代理 -->
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<!-- //允许sd卡写权限,需写入地图数据,禁用后无法显示地图 -->
<uses-permission android:name="android.permission.WRITE_SETTINGS" />
<!-- //获取统计数据 -->
<uses-permission android:name="android.permission.CAMERA" />
<!-- //遇到地图不显示补充以下权限 -->
<uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" />
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE"/>
<!-- 用于进行网络定位 -->
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<!-- 用于访问GPS定位 -->
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<!-- 允许应用程序访问额外的位置提供命令 -->
<uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" />
<!-- Modifiy the following according t your own confinguration -->
<application
android:label="amptest"
android:name="${applicationName}"
android:icon="@mipmap/ic_launcher">
<service android:name="com.amap.api.location.APSService"/>
<activity
...............
</activity>
<!--设置高德Key-->
<meta-data android:name="com.amap.api.v2.apikey" android:value="58b206.........e1d049"/>
</application>
</manifest>
注意以上两个地方和高德有关;
gradle.property 增加如下部分:
…
defaultConfig {
ndk {
//设置支持的SO库架构(开发者可以根据需要,选择一个或多个平台的so)
// abiFilters "armeabi", "armeabi-v7a", "arm64-v8a", "x86","x86_64"
abiFilters "armeabi", "armeabi-v7a", "arm64-v8a"
}
.......
}
....
dependencies {
//implementation fileTree(dir: 'libs', include: ['*.jar'])
// //3D地图so及jar check https://lbs.amap.com/api/android-sdk/changelog for the latest version
// if ther vserson of the 3dmap is bigger than 9.2.0 duplicated class will be foiund that is the bug for amp.
implementation 'com.amap.api:3dmap:9.2.0'
// //定位功能
implementation 'com.amap.api:location:6.1.0'
// //搜索功能
implementation 'com.amap.api:search:9.2.0'
// ————————————————
// 版权声明:本文为CSDN博主「antu58」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
// 原文链接:https://blog.csdn.net/weixin_41735943/article/details/122977922
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
}
说明:不要按照高德网站上的配置SDK的方法,那个已经过时了。网站中的如下方法已经不再适用:
compile 命令已经在新的gradle 中不被支持,fileTree 命令无效,写不写没有意义。另外由于高德版本管理的问题,不要使用latest.integration, 否则会在使用当中出现类名冲突(不知道高德怎么搞的)。
参考了很多网上的帖子,在这里一并致谢。
demo如下:
是记备忘
MaraSun 2022-12-23 BJFWDQ
Positive for the 10th days, most of the attributes of the body are turning normal.