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相关推荐

  1. 韩国渠道接入三星支付(Android 接入 Samsung in app purchase)

    Android 接入 Samsung In-App Purchase 在三星后台注册应用 获取Samsung IAP-Helper SDK 三星支付SDK集成 总结: 在三星后台注册应用 注册开发者账 ...

  2. android接入京东开普勒-2017年12月对接

    []####京东对于自己团队开发的开普勒项目,官方说的很屌.作为一种分销模式,对于开发来说,可能并不能够感觉出它的各种屌.最近公司团队有对接京东开普勒,就总结下对接开发京东开普勒的情况吧. 1.首先 ...

  3. Android接入advance活体检测

    Android接入Advance.Ai活体检测 Api (安卓活体检测) 通过摄像头实时采集动态影像.识别人物面部表情,以此检测.验证用户的真实性与可靠性. advance.ai 系统已针对印度尼西亚 ...

  4. Anuglar8集成高德地图

    Anuglar8集成高德地图 @我是一只小菜鸡传送门 Anuglar8集成高德地图github源码 一.自己新建一个angualr项目.emm-新建项目就不用教了吧. TODO- 二.开始搞事情吧 新 ...

  5. Unity Android 接入高德定位SDK

    Unity版本 2020 第一步首先去高德开放平台注册账号然后申请Key 高德开放平台 | 高德地图API 注册好账号之后 点击控制台 然后选择管理key 新建一个应用 选择添加  然后创建一个key ...

  6. Android 集成高德地图SDK

    今天和大家分享一下如果在Android开发中引用高德地图的SDK以及实现定位,搜索,导航的功能 =-= 第一步:引入高德地图的SDK. 首先,进入高德地图开发平台,鼠标移至头像处,点击我的应用,然后新 ...

  7. Android基于高德SDK的开发——自定义地图主题样式(悬浮按钮+底部弹窗)

    日常的地图使用中,平台一般只会给我们提供地图的标准样式,造成了一定程度上的审美疲劳,那么如何实现地图的自定义样式呢?本文使用Android Studio 4.1,给开发者提供了一个基于高德地图SDK进 ...

  8. Android - 简单的显示高德SDK中的3D地图

    简单的显示高德SDK中的3D地图 身为一个安卓小白,前几天试了一下高德SDK,踩了几个蠢蠢的坑,秉承着别让其他小白也踩到,我就写一篇怎么简单的实现高德SDK显示地图与小蓝点的教程. 获得key 1.先 ...

  9. Android中集成高德地图SDK实现地图定位和导航功能(二)

    我们接着上一篇文章开始继续实现android中集成高德地图的SDK实现地图 定位,搜索,导航的功能 如何让地图在手机上实现呢? 1.配置AndroidManifest 中的权限申请 可以参考官方文档 ...

最新文章

  1. C# 获取USB设备信息
  2. 模拟电路技术之基础知识(十)
  3. 李宏毅线性代数笔记9:特征值与特征向量
  4. python3.7.2安装包_Win10下python 2.7与python 3.7双环境安装教程图解
  5. svm常用核函数及选择核函数的方法
  6. 【C++ Primer | 16】std::move和std::forward、完美转发
  7. PS下载 PS2021中文版下载 Photoshop2021中文版22.5.1 ACR14.0最新
  8. 计算机网络总线型结构优,总线型拓扑结构优缺点是什么
  9. 人艰不拆,一句话毁掉小清新!
  10. linux自动清除超出的文件,Linux下面自动清理超过指定大小的文件
  11. numpy中axis理解
  12. springboot2.7.X+es8 集成开发
  13. html 图片缩小后模糊,css图片缩放失真出现锯齿的如何解决呢?
  14. 国产全新 OS 惊艳老外!界面似 Win11,可运行多应用
  15. 阿里校园招聘前端面试
  16. html 页面下雪效果,HTML页面下雪特效
  17. APS炒币机器人的投资随记No.3:主流币向上突破之后的三个方向
  18. 2019年天梯赛补题
  19. 【无人机】【2002.05】基于GPS的微型飞行器导航系统的设计与实现
  20. SPSS 26安装包下载及详细图文安装教程

热门文章

  1. 如何使用nose 进行Python项目的自动化测试
  2. OpenCL入门实践
  3. windows10 添加键盘音效
  4. Bert(Bidirectional Encoder Representations from Transformers)
  5. 腾讯派息式减持京东,“伯克希尔”的投资策略变的逻辑是?
  6. 电脑进不去游戏显示重新连接服务器,幻塔无法连接服务器怎么办?游戏进不去解决方法...
  7. B. Pleasant Pairs
  8. 全球及中国ICP-OES光谱仪行业产销需求与投资前景预测报告2022~2027年
  9. 时间序列分析-2 forecast 、predict
  10. 尚硅谷-宋红康-MySQL高级性能篇