高德Location
1.创建Demo,获取key
打开高德开发平台 → 我的应用 → 创建应用 → 创建新Key 说明:
1.发布版安全码获取:用自己的签名打包成apk安装软件,用SHA1工具查看
2.调试版安全码获取: 直接运行安装软件,再用SHA1工具查看
2.PackageName获取:打开项目的build.gradle的applicationId就是包名
2.SHAI查看地址:https://files.cnblogs.com/files/94xiyang/%E6%9F%A5%E7%9C%8BSHA1.zip
3.Jar包下载和so文件下载地址:https://pan.baidu.com/s/1SABNnVbzgrL5OOIgOulBww
4.权限:
<!-- 使用定位功能所需权限 -->
<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*****" />
5.Demo:
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();//地区编码
}
}
高德Location的更多相关文章
- 高德地图 location字段控制台显示 为字符串类型 实际为对象
help大神求指导 ? 高德地图new amap.PoiManager() 的 autoComplete方法 location字段控制台显示 为字符串类型 实际为对象 debugger过程入下图:
- Android 编程 AMapLocationClientOption 类中的 setNeedAddress 方法用处 (高德地图 com.amap.api.location.AMapLocationClientOption 中的类)
最近在用高德地图来写Android App, 其中有一些 方法是不太理解的,这里写一下 对 高德地图 com.amap.api.location.AMapLocationClientOption ...
- 高德地图api之location定位
关于定位,分为GPS定位和网络定位.本文将详细描述的浏览器定位,属于网络定位.这是一种通过使用高德JS-API来实现位置定位.城市定位的方法,包含了IP定位,检索等多种网络定位方式.如果您的手机支持G ...
- Android 编程 AMapLocationClientOption 类中的 setMockEnable (高德地图 com.amap.api.location.AMapLocationClientOption 中的类)
setMockEnable 高德地图中 AMapLocationClientOption 中有一个方法是设置APP是否接受模拟定位的设置,就是方法 setMockEnable //设置是否允许模拟位置 ...
- 高德地图定位不到 报错 location Error, ErrCode:7, errInfo:KEY错误 请到http://lbs.amap.com/api/android-location-sdk/abouterrorcode/查看错误码说明.
出现该问题的可能是高德地图的配置不准确: 仔细配对一下 看sha1 是否是通过应用签名生成的 要区分发布版的sha1 跟调试版的sha1 是不相同的 (小编我第一次反这种错误的时候 是因为我把高得 ...
- 高德地图api实现地址和经纬度的转换(python)
利用高德地图web服务api实现地理/逆地址编码 api使用具体方法请查看官方文档 文档网址:http://lbs.amap.com/api/webservice/guide/api/georegeo ...
- IOS原生地图与高德地图
原生地图 1.什么是LBS LBS: 基于位置的服务 Location Based Service 实际应用:大众点评,陌陌,微信,美团等需要用到地图或定位的App 2.定位方式 1.GPS定位 ...
- [OC][地图] 高德地图之定位初探(一)
使用前的说明 高德地图开放平台的iOS定位模块网址-->http://lbs.amap.com/api/ios-location-sdk/summary/ 高德地图有Web端.android平台 ...
- Android学习十一:高德地图使用
写这篇文章主要有三个目的: 1.使用高德地图api定位 2.获取天气数据 3.编程练手 文件结构 清单文件信息说明: <?xml version="1.0" encoding ...
随机推荐
- python面试题---收藏的笔记
第一部分 Python基础篇(80题) 为什么学习Python? 通过什么途径学习的Python? Python和Java.PHP.C.C#.C++等其他语言的对比? 简述解释型和编译型编程语言? P ...
- SpringMVC:处理静态资源
方法1.采用<mvc:default-servlet-handler/> 若将 DispatcherServlet 请求映射配置为 /,则 Spring MVC 将捕获WEB 容器的所有请 ...
- nginx 学习 不断更新
nginx 常用全局变量 $uri: 当前请求的uri,不带参数 $request_uri: 请求的uri,带完整参数 $host: http请求报文中host首部,如果没有则以处理此请求的虚拟主机的 ...
- 洛谷 P2678 & [NOIP2015提高组] 跳石头
题目链接 https://www.luogu.org/problemnew/show/P2678 题目背景 一年一度的“跳石头”比赛又要开始了! 题目描述 这项比赛将在一条笔直的河道中进行,河道中分布 ...
- leetcode python两个排序数组的中位数
给定两个大小为 m 和 n 的有序数组 nums1 和 nums2 . 请找出这两个有序数组的中位数.要求算法的时间复杂度为 O(log (m+n)) . 你可以假设 nums1 和 nums2 不同 ...
- ubuntu apt不使用代理
常见的问题是apt使用代理. 不过今天遇到的情况是,桌面进不去,只能tty:在tty界面下,发现1080端口上开着代理,/etc/environment和~/.bashrc中都确保注释掉了http_p ...
- SSM框架:解决后台传数据到前台中文乱码问题,使用@ResponseBody返回json 中文乱码
解决方法一:@RequestMapping(value="/getphone",produces = "text/plain;charset=utf-8") / ...
- Anaconda的安装与使用
1. 安装Anaconda(Command Line) 1.1 下载 首先去Anaconda官网查看下载链接,然后通过命令行下载: $ wget https://repo.anaconda.com/a ...
- PC端实现微信登录浅析
二维码 首先,二维码在编制上巧妙地利用构成计算机内部逻辑基础的“0”.“1”比特流的概念,使用若干个与二进制相对应的几何形体来表示文字数值信息,通过图象输入设备或光电扫描设备自动识读以实现信息自动处理 ...
- C语言--第四次作业--数组
1.本章学习总结 1.1 思维导图 1.2本章学习体会及代码量学习体会 1.2.1学习体会 不知不觉都快学习C语言结束了,自从开始了数组的学习就感觉难度瞬间几何级上升鸭(让人头大,感觉到了各种绝望), ...