Android 高德地图定位
创建Key
打开高德开发平台 → 我的应用 → 创建应用 → 创建新Key 说明: 1.发布版安全码获取:用自己的签名打包成apk安装软件,用SHA1工具查看 2.调试版安全码获取: 直接运行安装软件,再用SHA1工具查看 2.PackageName获取:打开项目的build.gradle的applicationId就是包名
SHA1查看器下载
高德Jar包和so文件下载
权限和服务
<!-- 使用定位功能所需权限 --> <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> <!-- 定位需要的服务 --> <service android:name="com.amap.api.location.APSService" /> <meta-data android:name="com.amap.api.v2.apikey" //申请的Key android:value="f21f6d8c24f1e8f4a1a20960583*****" />
实例
public class MainActivity extends AppCompatActivity implements AMapLocationListener {
private AMapLocationClient locationClient = null;
private AMapLocationClientOption locationOption = null;
AMapLocation mCurAMapLocation;
private TextView tv;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
tv= (TextView) findViewById(R.id.tv);
initAmap();
startLocation();
}
private void initAmap() {
locationClient = new AMapLocationClient(this.getApplicationContext());
locationOption = new AMapLocationClientOption();
// 设置定位模式为高精度模式
locationOption.setLocationMode(AMapLocationClientOption.AMapLocationMode.Hight_Accuracy);
//设置定位间隔时间
locationOption.setInterval(2000);
// 设置定位监听
locationClient.setLocationListener(this);
}
protected void startLocation() {
// 设置定位参数
locationClient.setLocationOption(locationOption);
// 启动定位
locationClient.startLocation();
}
protected void stopLocation() {
if (locationClient.isStarted())
locationClient.stopLocation();
}
@Override
public void onLocationChanged(AMapLocation location) {
// TODO Auto-generated method stub
if (location != null && location.getErrorCode() == 0) {
updateDistrictLocation(location);
} else {
updateDistrictLocation(null);
Toast.makeText(MainActivity.this,"获取位置失败",Toast.LENGTH_SHORT).show();
}
stopLocation();
}
public void updateDistrictLocation(AMapLocation location) {
mCurAMapLocation = location;
Toast.makeText(MainActivity.this,location.getAddress(),Toast.LENGTH_SHORT).show();
Log.i("打印", "updateDistrictLocation: "+location.getAddress());//详细定位地址
// location.getLocationType();//获取当前定位结果来源,如网络定位结果,详见定位类型表
// location.getLatitude();//获取纬度
// location.getLongitude();//获取经度
// location.getAccuracy();//获取精度信息
// @SuppressLint("SimpleDateFormat")
// SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
// Date date = new Date(location.getTime());
// df.format(date);//定位时间
// location.getAddress();//地址,如果option中设置isNeedAddress为false,则没有此结果,网络定位结果中会有地址信息,GPS定位不返回地址信息。
// location.getCountry();//国家信息
// location.getProvince();//省信息
// location.getCity();//城市信息
// location.getDistrict();//城区信息
// location.getStreet();//街道信息
// location.getStreetNum();//街道门牌号信息
// location.getCityCode();//城市编码
// location.getAdCode();//地区编码
}
}
Android 高德地图定位的更多相关文章
- android 高德地图出现【定位失败key鉴权失败】
如题:android 高德地图出现[定位失败key鉴权失败] 原因:使用的是debug模式下的SHA1,发布的版本正确获取SHA1的方式见: 方法二使用 keytool(jdk自带工具),按照如下步骤 ...
- Android高德地图自定义Markers的例子
下文为各位重点介绍关于Android高德地图自定义Markers的例子,希望这篇文章能够让各位理解到Android高德地图自定义Markers的方法. 之前的博客里说了地图的嵌入和定位,今天就说说在地 ...
- android 高德地图API 之 java.lang.UnsatisfiedLinkError: Couldn't load amapv3: findLibrary returned null错误
错误场景: 运行android app时,在运行到调用高德地图API时,出现 “java.lang.UnsatisfiedLinkError: Couldn't load amapv3: findLi ...
- 高德地图定位不到 报错 location Error, ErrCode:7, errInfo:KEY错误 请到http://lbs.amap.com/api/android-location-sdk/abouterrorcode/查看错误码说明.
出现该问题的可能是高德地图的配置不准确: 仔细配对一下 看sha1 是否是通过应用签名生成的 要区分发布版的sha1 跟调试版的sha1 是不相同的 (小编我第一次反这种错误的时候 是因为我把高得 ...
- android开发对应高德地图定位服务进度一
进行android的高德地图开发首先需要进入高德地图的控制台进行注册登录.之后创建新的应用并且绑定软件得到相应的key. 这里面需要找到自己软件对应的多个SHA1.这里有发布版和调试版,以及对应的软件 ...
- 实例源码--Android高德地图实例源码
下载源码 技术要点: 1.高德地图 API的使用 2.定位 ,查询路线,公交查询等地图相关技术 3.源码带有非常详 细的中文注释 ...... 详细介绍: 1. 高德地图API的使用 本套实例采 ...
- Android高德地图开发具体解释
这段时间开发的时候用到了高德地图,对高德地图开发有心得体会,如今分享给大家.对我开发过百度地图的我来说,整体来说高德地图Demo,没有百度解说的具体 个人更偏向于使用百度地图,可是没办发,项目须要使用 ...
- Android 百度地图定位(手动+自动) 安卓开发教程
近由于项目需要,研究了下百度地图定位,他们提供的实例基本都是用监听器实现自动定位的.我想实现一种效果:当用户进入UI时,不定位,用户需要定位的时候,自己手动点击按钮,再去定位当前位置. 经过2天研究 ...
- android高德地图网络路径实现自定义marker并点击弹出自定义窗口
android中使用地图的地方随处可见,今天记录一下网络路径生成自定义marker,点击标记弹出自定义的窗口(在这里使用的是高德地图) 在这里我们使用Grilde去加载网络图片,因为这个简直太方便了! ...
随机推荐
- 用vue-cli脚手架搭建一个仿网易云音乐的全家桶vue项目
一,vue-cli环境搭建 1,全局安装webpack npm install webpack -g 2,安装vue脚手架 npm install vue-cli -g 3,新建一个新的project ...
- 内存管理buddy[原理]
TODO------------------------------------------------------------------------------------------------ ...
- Python中的几种矩阵乘法(转)
一. np.dot() 1.同线性代数中矩阵乘法的定义.np.dot(A, B)表示: 对二维矩阵,计算真正意义上的矩阵乘积. 对于一维矩阵,计算两者的内积. 2.代码 [code] import ...
- Consul内部分享ppt
Consul 是一个支持多数据中心,分布式,高可用的服务发现和配置共享系统.由 HashiCorp 公司使用 Go 语言开发,基于Raft协议.部署起来非常容易,只需要极少的可执行程序和配置文件,具有 ...
- BitMap位图与海量数据的理解与应用
1. Bit Map算法简介 来自于<编程珠玑>.所谓的Bit-map就是用一个bit位来标记某个元素对应的Value, 而Key即是该元素.由于采用了Bit为单位来存储数据,因此在存储空 ...
- Ocelot 使用
官方文档:http://ocelot.readthedocs.io/en/latest/introduction/gettingstarted.html 新建两个Asp.net core API项目 ...
- 关于jQuery的一些东西
1.jQuery的选择器学习 基本选择器 id选择器 $("#id名") 返回的是存储了指定的HTML元素对象的数组 标签 ...
- [java初探总结篇]__java初探总结
前言 终于,java初探系列的学习,要告一阶段了,java初探系列在我的计划中是从头学java中的第一个阶段,知识主要涉及java的基础知识,所以在笔记上实在花了不少的功夫.虽然是在第一阶段上面花费了 ...
- vc++开发安装程序实例
前言 市面上有很多安装程序制作软件:但是,要实现个性化安装程序,还是自己动手来写一个更为妥当.本文介绍基本的安装程序制作的步骤. 安装程序界面: 安装程序可以分为几个功能点:1 资源的嵌入.释放.2 ...
- Java设计模式学习记录-中介者模式
前言 中介者模式听名字就能想到也是一种为了解决耦合度的设计模式,其实中介者模式在结构上与观察者.命令模式十分相像:而应用目的又与结构模式“门面模式”有些相似.但区别于命令模式的是大多数中介者角色对于客 ...