[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-tet3jiq5-1592907973244)(https://img.hacpai.com/bing/20180509.jpg?imageView2/1/w/960/h/540/interlace/1/q/100)]
安卓接入高德地图API展示热力图
概述:因为要用到这个,所以记一下怎么弄的,以后可能会用到。废话不多说;
首先,去高德地图 API
官网搞一个 key
。
KEY
名称自定义,中英文都可以,只是让你分辨你的key, 安全码 SHA1
的获取见:
https://www.lonuslan.com/articles/2020/06/23/1592905144300.html
建立好后会在我的应用里生成一个 KEY
,记住这个,复制下这个后面会用到。
之后在 AndroidManifest.xml 中 <application 标签内添加:
<!-- //配置应用的AppKey,唯一的,需申请 -->
<meta-data
android:name="com.amap.api.v2.apikey"
android:value="您刚刚申请的key"/>
<!-- 声明定位 service-->
<service android:name="com.amap.api.location.APSService"/>
在 <manifest 标签内添加获取网络权限等:
<!--允许程序打开网络套接字-->
<uses-permission android:name="android.permission.INTERNET" />
<!--允许程序设置内置sd卡的写权限-->
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<!--允许程序获取网络状态-->
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<!--允许程序访问WiFi网络信息-->
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<!--允许程序读写手机状态和身份-->
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<!--允许程序访问CellID或WiFi热点来获取粗略的位置-->
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
在 build.gradle 下 dependencies 中添加获取高德地图 sdk
依赖:
//高德地图配置开始
//3D地图so及jar
implementation 'com.amap.api:3dmap:latest.integration'
// implementation 'com.amap.api:3dmap:latest.integration'
//定位功能
// implementation 'com.amap.api:map2d:latest.integration'
//定位功能
implementation 'com.amap.api:location:latest.integration'
//搜索功能
implementation 'com.amap.api:search:latest.integration'
//高德地图配置结束
针对不同架构,添加 3d
支持:
android {
compileSdkVersion 29
buildToolsVersion "29.0.3"
defaultConfig {
applicationId "com.example.testapplication"
minSdkVersion 15
targetSdkVersion 29
// multiDexEnabled true
multiDexEnabled false
versionCode 1
versionName "1.0"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
//高德地图配置开始
ndk {
//设置支持的SO库架构(开发者可以根据需要,选择一个或多个平台的so)
abiFilters "armeabi", "armeabi-v7a"
}
// , "arm64-v8a" , "x86","x86_64" , "arm64-v8a"
//高德地图配置结束
javaCompileOptions {
annotationProcessorOptions {
includeCompileClasspath true
}
}
}
//高德地图配置开始
packagingOptions {
doNotStrip "*/armeabi/*.so"
doNotStrip "*/armeabi-v7a/*.so"
// doNotStrip "*/arm64-v8a/*.so"
// doNotStrip "*/x86/*.so"
// doNotStrip "*/x86_64/*.so"
// doNotStrip "*/mips/*.so"
// doNotStrip "*/mips64/*.so"
// 高德地图配置结束
}
//其他配置...
}
这里可能会出现 地图闪退 或者 APP
崩溃 的现象。建议尝试一下使用 gradle
工具 clean
之后再 build
.
之后就可以按照官方文档愉快的进行开发了,给个示例参考,其实官方代码也有:
layout.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background