高德地图开发学习Demo
发布版:Cmd窗口中进入 jks 文件保存目录,然后输入命令:先进入项目目录的文件下,输入keytool -v -list -keystore 您的.jks再输入密钥库口令: 创建时的密码调试版:第一步:首先我们找到 debug.store 文件,该文件一般放在 C:\Users\ 用户名 \.android 下第二步:然后在 androidstudio 的 Terminal 中进入 jdk 的 bin 目录下,并敲一下命令: keytool -v -list - keystore debug.keystore 文件路径 ( 就是我们第一步找到的目录 )第三步:输入秘钥口令 “”android“” ,看到下图就代表成功了 ~ !
<meta-data android:name="com.amap.api.v2.apikey" android:value="您的key"></meta-data>声明地图服务:<service android:name="com.amap.api.location.APSService"></service>声明地图所必要的权限:<!--用于进行网络定位--><uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"></uses-permission><!--用于访问GPS定位--><uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"></uses-permission><!--获取运营商信息,用于支持提供运营商信息相关的接口--><uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"></uses-permission><!--用于访问wifi网络信息,wifi信息会用于进行网络定位--><uses-permission android:name="android.permission.ACCESS_WIFI_STATE"></uses-permission><!--这个权限用于获取wifi的获取权限,wifi信息会用来进行网络定位--><uses-permission android:name="android.permission.CHANGE_WIFI_STATE"></uses-permission><!--用于访问网络,网络定位需要上网--><uses-permission android:name="android.permission.INTERNET"></uses-permission><!--用于读取手机当前的状态--><uses-permission android:name="android.permission.READ_PHONE_STATE"></uses-permission><!--写入扩展存储,向扩展卡写入数据,用于写入缓存定位数据--><uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission><!--用于申请调用A-GPS模块--><uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS"></uses-permission><!--用于申请获取蓝牙信息进行室内定位--><uses-permission android:name="android.permission.BLUETOOTH"></uses-permission><uses-permission android:name="android.permission.BLUETOOTH_ADMIN"></uses-permission>
<!--连接网络权限,用于执行云端语音能力 --><uses-permission android:name="android.permission.INTERNET"/><!--获取手机录音机使用权限,听写、识别、语义理解需要用到此权限 --><uses-permission android:name="android.permission.RECORD_AUDIO"/><!--读取网络信息状态 --><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.CHANGE_NETWORK_STATE"/><!--读取手机信息权限 --><uses-permission android:name="android.permission.READ_PHONE_STATE"/><!--读取联系人权限,上传联系人需要用到此权限 --><uses-permission android:name="android.permission.READ_CONTACTS"/>
MyLocationStyle myLocationStyle = new MyLocationStyle();//初始化定位蓝点样式类myLocationStyle.myLocationType(MyLocationStyle.LOCATION_TYPE_LOCATE) ;//定位一次,且将视角移动到地图中心点。//myLocationStyle.myLocationType(MyLocationStyle.LOCATION_TYPE_LOCATION_ROTATE);//连续定位、且将视角移动到地图中心点,// 定位点依照设备方向旋转,并且会跟随设备移动。(1秒1次定位)如果不设置myLocationType,默认也会执行此种模式。myLocationStyle.interval(2000); //设置连续定位模式下的定位间隔,只在连续定位模式下生效,单次定位模式下不会生效。单位为毫秒。mAmap.setMyLocationStyle(myLocationStyle);//设置定位蓝点的StylemAmap.getUiSettings().setMyLocationButtonEnabled(true);//设置默认定位按钮是否显示,非必需设置。mAmap.getUiSettings().setCompassEnabled(true); //设置指南针用于向 App 端用户展示地图方向,默认不显示mAmap.getUiSettings().setScaleControlsEnabled(true); //设置比例尺控件。位于地图右下角,可控制其显示与隐藏mAmap.setMyLocationEnabled(true);// 设置为true表示启动显示定位蓝点,false表示隐藏定位蓝点并不进行定位,默认是false。
a. 实现输入提示的步骤如下:
继承 InputtipsListener 监听。构造 InputtipsQuery 对象,通过 InputtipsQuery(java.lang.String keyword, java.lang.String city) 设置搜索条件。//第二个参数传入null或者“”代表在全国进行检索,否则按照传入的city进行检索InputtipsQuery inputquery = new InputtipsQuery(input_edittext.getText().toString(),null );inputquery.setCityLimit(false);//限制在当前城市构造 Inputtips 对象,并设置监听Inputtips inputTips = new Inputtips(POISearchActivity.this, inputquery);inputTips.setInputtipsListener(this);调用 PoiSearch 的 requestInputtipsAsyn() 方法发送请求。inputTips.requestInputtipsAsyn();通过回调接口 onGetInputtips()方法 解析返回的结果,获取输入提示返回的信息,返回结果成功或者失败的响应码。1000为成功,其他为失败。
b. 通过解析搜索返回的结果,将返回的一个或多个地理位置信息用Marker在地图上标注出来,并将地图的中心坐标移动至Marker标记处。
for(Tip tip : list){mMarker = mAmap.addMarker(new MarkerOptions().position(new LatLng(tip.getPoint().getLatitude(),tip.getPoint().getLongitude())).title(tip.getAddress()).snippet(tip.getDistrict()+"("+tip.getPoiID()+")"));mMarker.startAnimation();//将地图的中心坐标移动至marker//参数依次是:视角调整区域的中心点坐标、希望调整到的缩放级别、// 俯仰角0°~45°(垂直与地图时为0)、偏航角 0~360° (正北方为0)CameraUpdate update = CameraUpdateFactory.newCameraPosition(new CameraPosition(mMarker.getPosition(),18,30,0));mAmap.moveCamera(update);}
c. 给Marker设置点击事件,并通过下方的文本框展示当前点击位置的地理信息。
// 定义 Marker 点击事件监听AMap.OnMarkerClickListener markerClickListener = new AMap.OnMarkerClickListener() {// marker 对象被点击时回调的接口// 返回 true 则表示接口已响应事件,否则返回false@Overridepublic boolean onMarkerClick(Marker marker) {//通过回调返回的marker来获取位置信息return true;}};mAmap.setOnMarkerClickListener(markerClickListener);
d. 点击下方开启文本框,即可开启实时导航,起点为当前位置,终点位置即为点击Marker获取的地理位置。
//实例化语音引擎mTtsManager = TTSController.getInstance(getApplicationContext());mTtsManager.init();//添加监听事件mAMapNavi = AMapNavi.getInstance(getApplicationContext());mAMapNavi.addAMapNaviListener(this);mAMapNavi.addAMapNaviListener(mTtsManager);
int strategy = 0;try {//再次强调,最后一个参数为true时代表多路径,否则代表单路径strategy = mAMapNavi.strategyConvert(true, false, false, false, false);} catch (Exception e) {e.printStackTrace();}mAMapNavi.calculateDriveRoute(sList, eList, mWayPointList, strategy);
mAMapNavi.startNavi(NaviType.GPS); //实时导航//mAMapNavi.startNavi(NaviType.EMULATOR); //模拟导航
高德地图开发学习Demo相关推荐
- Android高德地图开发详解
这段时间开发的时候用到了高德地图,对高德地图开发有心得体会,现在分享给大家,对我开发过百度地图的我来说,总体来说高德地图Demo,没有百度讲解的详细 个人更偏向于使用百度地图,但是没办发,项目需要使用 ...
- 安卓高德地图开发之引入导航功能
高德地图导航添加需要添加特定的navi包. 高德地图开发中添加导航功能的简单实现原理是引入自定义起点和终点数据后调用官方给出的demo代码. 首先需要一个baseactivity类,给出代码: pac ...
- QT5百度地图开发学习——qt调用JavaScript函数并传参
文章目录 前言 一.通信桥梁bridge 二.QT与JS相互通信(调用函数) 1.QT调用js函数 前言 在上文<QT5百度地图开发学习--控件提升展示地图>中,我们通过控件提升的方式在同 ...
- 高德地图开发(三、地图marker点标记)
高德地图开发(三.地图marker自定义点标记) 一.默认点标记 二.自定义点标记 一.默认点标记 // 创建一个 Marker 实例:var marker = new AMap.Marker({po ...
- 高德地图开发之地图配置及vue上初始化创建地图
开门见山地说,现如今地图相关的开发业务在工作中越来越常见,目前市面上主流的地图开发还是以百度和高德为主,今天就来讲一下高德地图的配置和在vue上的初始化创建,帮助大家更好更快的了解高德地图开发相关的 ...
- 快速掌握Web高德地图开发
本文章致力于帮助对Web高德地图开发感兴趣的朋友快速掌握开发要领,如果能对屏幕前的您有所助益,我将十分荣幸. 如何快速掌握Web高德地图开发? 要领如下: 一. 首先要知道高德地图本身有提供开放的地图 ...
- 高德地图开发(四、点聚合)
高德地图开发(四.点聚合) 一.设置点聚合 二.点聚合中添加删除标记 三.方法和事件 一.设置点聚合 只截取了部分代码,几个方法都处于一个类中. let markers = []; // 点聚合数组 ...
- QT5百度地图开发学习——qt调用输入位置坐标位置进行百度地图定位
系列文章目录 上一章: QT5百度地图开发学习--JavaScript调用qt函数并传参给qt 文章目录 系列文章目录 前言 一.界面设计 二.槽函数 总结 前言 本文实现输入坐标然后在地图上显示位置 ...
- 基于高德地图开发 Web 应用
文章目录 写在前面 为什么选择高德地图?对比腾讯.百度.OpenLayers OpenLayers 腾讯地图 百度地图 高德地图 基本的开发步骤,开始实现自己的地图应用 快速掌握 API 模块.架构. ...
最新文章
- 检测未定义的对象属性
- docker环境下solr6.0配置(中文分词+拼音)
- windows-DLL注入
- 【AutoML】优化方法可以进行自动搜索学习吗?
- linux心跳包检测代码_OpenSSL心跳包越界读敏感信息泄漏漏洞
- vue 父组件 调用 子组件的方法
- Java BigDecimal 转换,除法陷阱(转)
- Tapestry5之多个方法匹配
- java面试准备题目
- 云计算核心技术剖析学习笔记_2
- 如何搭建一对一直播PHP直播系统源码的流程
- 飞鸽传书2007绿色版,提取、识别不同的重点
- Autojs抖音小助手抢红包福袋脚本实战分享
- JavaBean的前世晋升程序员如何提升领导力
- win10桌面频繁刷新
- python人像录制加声音_简单易用的录制屏幕与摄像头工具
- 全面剖析ESP32创建Wi-Fi热点的过程
- 迅雷冻结3亿链克,停止国际版支持,这个区块链项目基本凉了
- 12月世界燕窝滋补品展|上海燕博会|冻干(即食)燕窝展谈食用燕窝
- 找不到全局编录服务器,将 DC 提升至全局编录服务器时出现问题 - Windows Server | Microsoft Docs...