Android接入高德地图SDK,Android高德SDK 地图篇一:集成高德SDK
Android高德SDK 地图篇一:集成高德SDK
大家好,这是系列博文的第一篇: 系列博文会完成以下功能
一. 地图篇:利用高德SDK实现滴滴出行的效
二. 导航篇:利用高德SDK实现滴滴司机端的效果(自定义导航界面)
集成高德SDK
首先我们访问高德开发平台下载 SDK
下载地址.png
因为我们以后要使用
地图,导航,定位,逆地理编码(搜索功能SDK) 请选择这些下载 上图已经选好了。
建立工程集成SDK 配置build.gradle文件
我们新建一个Android工程。如下:
建立工程.png
建好以后 我们在这个工程上建立一个Module 请选择Android Library取名AmapLibrary
建立工程1.png
建立工程2.png
请选择Android Library 我们把高德SDK放在这个Library中
是为了以后方便移植。还要很多有优点。等会我跟大家说
好了。 我们的app工程和Library都弄好了。
解压你刚下载的高德SDK 解压后文件夹如下:
解压文件目录.png
拷贝这两个文件到AmapLibrary中libs目录下
如下:
拷贝库到libs中.png
然后需要在 AmapLibrary和app的build.gradle中都添加 添加在build.gradle文件下的
android标签下 如下:
sourceSets {
main {
jniLibs.srcDirs = ['libs']
}
}
添加这个是因为 我们把armeabi库放在libs下面
然后在defaultConfig标签下添加
ndk {
abiFilters 'armeabi'
}
build.gradle如下:
请注意app下的build.gradle也要添加
修改gradle文件名称.png
然后请将AmapLibrary中build.gradle中的
implementation fileTree(include: ['*.jar'], dir: 'libs')
替换成
api fileTree(include: ['*.jar'], dir: 'libs')
这样app才能使用AmapLibrary工程中的libs库(非常重要)
修改后的效果
dependencies {
api fileTree(include: ['*.jar'], dir: 'libs')
implementation 'com.android.support:appcompat-v7:26.1.0'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'com.android.support.test:runner:1.0.1'
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.1'
}
AndroidManifest的配置
在AmapLibrary工程下的AndroidManifest.xml文件
请注意我们只需要在AmapLibrary工程下的AndroidManifest.xml文件添加
不必在app工程下的AndroidManifest.xml文件下添加(因为打包的时候这些东西都会自动打包到一个AndroidManifest.xml文件中)
AmapLibrary的AndroidManifest.xml如下
package="com.yisingle.amap.lib" >
android:name="com.amap.api.v2.apikey"
android:value="需要在高德开放平台上申请" />
android:name="com.amap.api.v2.apikey"
android:value="需要在高德开放平台上申请" />
这个东西需要到高德开放平台申请。接下我们完成这个工作就集成好的高德SDK了
申请高德SDK的apikey
申请高德SDK的apikey 需要两个关键的东西。
一个是应用的包名
一个是应用的打包签名文件的sh1
应用的包名:
在这个工程中 请注意我们拿app的包名 而不是AmapLirary的包名(谨记)
app的包名是:com.yisingle.study.map.one
如下图:
app的包名.png
签名文件的sh1
如下图:
在AndroidStudio中点击Build generate singed apk 生成签名
生成签名文件.png
然后点击下一步 出现如下图:
签名信息填写.png
点击ok
生成好了
在工程中建一个文件夹取名key 并把签名文件放到里面如下图:
签名位置.png
然后在app中的build.gradle中 配置打包使用生成的签名。
在app.的build.gradle文件下 android标签下 添加
signingConfigs {
signinfo {
keyAlias 'key0'
keyPassword '123456789'
storeFile file('../key/studyone.jks')
storePassword '123456789'
}
}
在buildTypes标签下修改代码如下:
buildTypes {
release {
minifyEnabled false
signingConfig signingConfigs.signinfo
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
debug {
minifyEnabled false
signingConfig signingConfigs.signinfo
}
}
注意请把signingConfigs 放在 buildTypes的前面。
这样我们就使用生成的签名打包debug文件了。就是换了电脑工程也不会出现签名不对的问题。
最后app工程下的build.gradle的文件如下:
apply plugin: 'com.android.application'
android {
compileSdkVersion 26
defaultConfig {
applicationId "com.yisingle.study.map.one"
minSdkVersion 18
targetSdkVersion 26
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
ndk {
abiFilters 'armeabi'
}
}
signingConfigs {
signinfo {
keyAlias 'key0'
keyPassword '123456789'
storeFile file('../key/studyone.jks')
storePassword '123456789'
}
}
buildTypes {
release {
minifyEnabled false
signingConfig signingConfigs.signinfo
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
debug {
minifyEnabled false
signingConfig signingConfigs.signinfo
}
}
sourceSets {
main {
jniLibs.srcDirs = ['libs']
}
}
}
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'com.android.support:appcompat-v7:26.1.0'
implementation 'com.android.support.constraint:constraint-layout:1.0.2'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'com.android.support.test:runner:1.0.1'
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.1'
}
通过 命令 获取签名文件 命令在window下也可以用哈
keytool -v -list -keystore studyone.jks
获取签名文件的SH1.png
签名获取sh1成功.png
复制:
38:86:88:CF:78:05:5C:C4:F5:D5:B4:0A:3C:24:E9:11:3A:58:12:85
上面就是我的签名文件的SHA1
好了
注册高德开发平台账号
这里我就不详细介绍了 请大家自己看高德开发平台注册流程吧 很简单
进入应用管理界面 点击应用管理 点击创建新应用
创建新应用.png
然后会弹出下面的界面 随便填写就可以了
创建界面.png
创建好后点击添加新Key
点击添加Key.png
然后输入sha1 和包名 点击提交
输入包名和sha1的值.png
然后我们会得到key
高德签名显示位置.png
填写到AmapLirary工程下的
android:name="com.amap.api.v2.apikey"
android:value="7a91a3b1ccdf395223bcf4f511d5697c" />
验证
好了我们来验证一下是否配置成功了。
在app的MainActivity界面写如下的代码
package com.yisingle.study.map.one;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.TextView;
import com.amap.api.services.core.LatLonPoint;
import com.amap.api.services.route.BusRouteResult;
import com.amap.api.services.route.DriveRouteResult;
import com.amap.api.services.route.RideRouteResult;
import com.amap.api.services.route.RouteSearch;
import com.amap.api.services.route.WalkRouteResult;
import com.yisingle.amap.lib.GaoDeErrorUtils;
public class MainActivity extends AppCompatActivity {
private RouteSearch routeSearch;
private TextView tvInfo;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
tvInfo = findViewById(R.id.tvInfo);
routeSearch = new RouteSearch(this);
routeSearch.setRouteSearchListener(new RouteSearch.OnRouteSearchListener() {
@Override
public void onBusRouteSearched(BusRouteResult busRouteResult, int i) {
}
@Override
public void onDriveRouteSearched(DriveRouteResult driveRouteResult, int i) {
//验证是否成功
tvInfo.setText(GaoDeErrorUtils.getErrorInfo(i));
}
@Override
public void onWalkRouteSearched(WalkRouteResult walkRouteResult, int i) {
}
@Override
public void onRideRouteSearched(RideRouteResult rideRouteResult, int i) {
}
});
startConfimGaode();
}
public void startConfimGaode() {
LatLonPoint from = new LatLonPoint(30.537107, 104.06951);
LatLonPoint to = new LatLonPoint(30.657349, 104.065837);
RouteSearch.FromAndTo fromAndTo = new RouteSearch.FromAndTo(from, to);
RouteSearch.DriveRouteQuery query = new RouteSearch.DriveRouteQuery(fromAndTo, RouteSearch.DRIVING_SINGLE_SHORTEST, null, null, "");
routeSearch.calculateDriveRouteAsyn(query);
tvInfo.setText("使用地图的路径规划中");
}
@Override
protected void onDestroy() {
super.onDestroy();
}
public void test(View view) {
startConfimGaode();
}
}
好了 如果显示请求正常服务调用正常,有结果返回 code 为1000那么 就代表我们集成成功了。
Android接入高德地图SDK,Android高德SDK 地图篇一:集成高德SDK相关推荐
- 韩国渠道接入三星支付(Android 接入 Samsung in app purchase)
Android 接入 Samsung In-App Purchase 在三星后台注册应用 获取Samsung IAP-Helper SDK 三星支付SDK集成 总结: 在三星后台注册应用 注册开发者账 ...
- android接入京东开普勒-2017年12月对接
[]####京东对于自己团队开发的开普勒项目,官方说的很屌.作为一种分销模式,对于开发来说,可能并不能够感觉出它的各种屌.最近公司团队有对接京东开普勒,就总结下对接开发京东开普勒的情况吧. 1.首先 ...
- Android接入advance活体检测
Android接入Advance.Ai活体检测 Api (安卓活体检测) 通过摄像头实时采集动态影像.识别人物面部表情,以此检测.验证用户的真实性与可靠性. advance.ai 系统已针对印度尼西亚 ...
- Anuglar8集成高德地图
Anuglar8集成高德地图 @我是一只小菜鸡传送门 Anuglar8集成高德地图github源码 一.自己新建一个angualr项目.emm-新建项目就不用教了吧. TODO- 二.开始搞事情吧 新 ...
- Unity Android 接入高德定位SDK
Unity版本 2020 第一步首先去高德开放平台注册账号然后申请Key 高德开放平台 | 高德地图API 注册好账号之后 点击控制台 然后选择管理key 新建一个应用 选择添加 然后创建一个key ...
- Android 集成高德地图SDK
今天和大家分享一下如果在Android开发中引用高德地图的SDK以及实现定位,搜索,导航的功能 =-= 第一步:引入高德地图的SDK. 首先,进入高德地图开发平台,鼠标移至头像处,点击我的应用,然后新 ...
- Android基于高德SDK的开发——自定义地图主题样式(悬浮按钮+底部弹窗)
日常的地图使用中,平台一般只会给我们提供地图的标准样式,造成了一定程度上的审美疲劳,那么如何实现地图的自定义样式呢?本文使用Android Studio 4.1,给开发者提供了一个基于高德地图SDK进 ...
- Android - 简单的显示高德SDK中的3D地图
简单的显示高德SDK中的3D地图 身为一个安卓小白,前几天试了一下高德SDK,踩了几个蠢蠢的坑,秉承着别让其他小白也踩到,我就写一篇怎么简单的实现高德SDK显示地图与小蓝点的教程. 获得key 1.先 ...
- Android中集成高德地图SDK实现地图定位和导航功能(二)
我们接着上一篇文章开始继续实现android中集成高德地图的SDK实现地图 定位,搜索,导航的功能 如何让地图在手机上实现呢? 1.配置AndroidManifest 中的权限申请 可以参考官方文档 ...
最新文章
- C# 获取USB设备信息
- 模拟电路技术之基础知识(十)
- 李宏毅线性代数笔记9:特征值与特征向量
- python3.7.2安装包_Win10下python 2.7与python 3.7双环境安装教程图解
- svm常用核函数及选择核函数的方法
- 【C++ Primer | 16】std::move和std::forward、完美转发
- PS下载 PS2021中文版下载 Photoshop2021中文版22.5.1 ACR14.0最新
- 计算机网络总线型结构优,总线型拓扑结构优缺点是什么
- 人艰不拆,一句话毁掉小清新!
- linux自动清除超出的文件,Linux下面自动清理超过指定大小的文件
- numpy中axis理解
- springboot2.7.X+es8 集成开发
- html 图片缩小后模糊,css图片缩放失真出现锯齿的如何解决呢?
- 国产全新 OS 惊艳老外!界面似 Win11,可运行多应用
- 阿里校园招聘前端面试
- html 页面下雪效果,HTML页面下雪特效
- APS炒币机器人的投资随记No.3:主流币向上突破之后的三个方向
- 2019年天梯赛补题
- 【无人机】【2002.05】基于GPS的微型飞行器导航系统的设计与实现
- SPSS 26安装包下载及详细图文安装教程
热门文章
- 如何使用nose 进行Python项目的自动化测试
- OpenCL入门实践
- windows10 添加键盘音效
- Bert(Bidirectional Encoder Representations from Transformers)
- 腾讯派息式减持京东,“伯克希尔”的投资策略变的逻辑是?
- 电脑进不去游戏显示重新连接服务器,幻塔无法连接服务器怎么办?游戏进不去解决方法...
- B. Pleasant Pairs
- 全球及中国ICP-OES光谱仪行业产销需求与投资前景预测报告2022~2027年
- 时间序列分析-2 forecast 、predict
- 尚硅谷-宋红康-MySQL高级性能篇