Android 腾讯地图定位
1,申请key
https://lbs.qq.com/console/key.html
2,配置环境
a,配置sdk
下载jar包 TencentLocationSdk_v7.1.5 (点击链接可直接下载)
解压得到以下路径:
我们要用到的是libs
目录下的so
包 和 sdk
jar
包
很简单,sdk jar包拷到项目中的libs目录下,并 选中 > 右键 > Add As Library,没有libs目录就新建,与src
目录同级。
so包拷到jniLibs 目录下,没有jniLibs 目录就新建,在main目录下,与java
目录同级。
b,配置 manifest
添加权限:
<!-- 通过GPS得到精确位置 -->
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<!-- 通过网络得到粗略位置 -->
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<!-- 访问网络,某些位置信息需要从网络服务器获取 -->
<uses-permission android:name="android.permission.INTERNET" />
<!-- 访问WiFi状态,需要WiFi信息用于网络定位 -->
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<!-- 修改WiFi状态,发起WiFi扫描, 需要WiFi信息用于网络定位 -->
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
<!-- 访问网络状态, 检测网络的可用性,需要网络运营商相关信息用于网络定位 -->
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<!-- 访问网络的变化, 需要某些信息用于网络定位 -->
<uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" />
<!-- 访问手机当前状态, 需要某些信息用于网络定位 -->
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
加过的就不用重复再加
配置key:
<application>...<meta-data android:name="TencentMapSDK" android:value="您申请的Key" />
</application>
混淆(用就加,不用就不加,不知道就不加):
-keepclassmembers class ** {public void on*Event(...);
}
-keep class c.t.**{*;}
-keep class com.tencent.map.geolocation.**{*;}
-keep class com.tencent.tencentmap.lbssdk.service.**{*;}-dontwarn org.eclipse.jdt.annotation.**
-dontwarn c.t.**
3,开始定位
a,建议先获取位置权限,之前已获取的可以跳过
RxPermissions rxPermission = new RxPermissions(AddressLocationActivity.this);rxPermission.requestEach(Manifest.permission.ACCESS_FINE_LOCATION).subscribe(new Consumer<Permission>() {@Overridepublic void accept(Permission permission) throws Exception {if (permission.granted) {// 已经同意该权限initTencentLocationRequest();} else {// 拒绝了该权限}}});
b,创建监听
/*** 开启定位监听器*/private void initTencentLocationRequest() {TencentLocationRequest request = TencentLocationRequest.create();request.setInterval(30000).setRequestLevel(1).setAllowCache(true);TencentLocationManager locationManager = TencentLocationManager.getInstance(this);int error = locationManager.requestLocationUpdates(request, this);if (error == 0)LogUtil.i("注册位置监听器成功!");elseLogUtil.i("注册位置监听器失败!");}
Activity 实现TencentLocationListener
接口并 实现两个方法 onLocationChanged
和 onStatusUpdate
,前者是位置更新时的回调,后者是GPS和Wi-Fi的状态变化回调。
c,定位回调
/*** 位置更新时的回调** @param tencentLocation 新的位置* @param i 错误码* @param s 错误描述*/@Overridepublic void onLocationChanged(TencentLocation tencentLocation, int i, String s) {if (TencentLocation.ERROR_OK == i) {// 定位成功if (tencentLocation != null) {String lat = String.valueOf(tencentLocation.getLatitude());String lon = String.valueOf(tencentLocation.getLongitude());LogUtil.i(lat + "---" + lon);}} else {// 定位失败}}
定位成功之后,我们可以在TencentLocation 对象中获取我们需要的信息,而TencentLocation 中信息的有效性是根据setRequestLevel 等级确定的
ok,到这里就完成基本定位了,但是也要做好善后工作。
d,删除位置监听器
@Overrideprotected void onDestroy() {super.onDestroy();//删除位置监听器TencentLocationManager locationManager = TencentLocationManager.getInstance(this);locationManager.removeUpdates(this);}
ok 基本功能完成, 更多 查看官方文档
Android 腾讯地图定位相关推荐
- android 集成腾讯地图定位
本文只教学定位功能,需要搜索.2D或3D地图的可以到腾讯地图开发平台看api文档,链接:腾讯地图 一.到腾讯地图开发平下载定位sdk,快速入口:腾讯地图定位 二.在项目的AndroidManiFest ...
- h5/web 原生定位、高德、腾讯地图定位
在项目添加新功能时,使用cdn方式引入使用地图功能,使用功能只用到了地图的定位.点标记.详细地址查询.poi搜索和输入提示.计算两点之间的距离:因为在寻找高德地图问题时发现h5 和 web 端的好少, ...
- vue PC 端使用腾讯地图定位
vue PC 端使用腾讯地图定位 需求:希望网站显示当前城市 腾讯前端定位组件 解决的方法 定义一个文件,加载定位js 在vue页面中使用 需求:希望网站显示当前城市 腾讯前端定位组件 key的申请, ...
- 百度地图、高德地图和腾讯地图定位不准确的解决方案
需求 由于使用我们公司设备的用户分布在全球各地,最近好多设备都坏了,现在我们公司的修理师要去现场修理设备,但是设备太多了,200多个地址,不好找,而且又不能非常一目了然的查看到分布在全国的需要进行设备 ...
- Android开发——百度地图定位
Android开发--百度地图定位 项目需求 项目内容 注册和获取秘钥 获取项目SHA1码 获取项目AK码 AS依赖配置 AS源码 AndroidManifest文件 布局文件 DemoApplica ...
- android+腾讯地图h5,H5调用腾讯地图
获取当前定位的经纬度并在容器内显示当前位置 (安卓上的位置有点偏差) 在vue的index.html中需要引用 template javaScript export defalut { data(){ ...
- 腾讯地图定位及坐标解析
腾讯地图定位及坐标解析 一个项目,需要打开地图后点击获取地址 用的腾讯地图开放平台,对着文档花了一上午弄出来了 代码: <!DOCTYPE html> <html><he ...
- 微信小程序中开发使用腾讯地图定位
在最近的微信小程序中开发使用到腾讯地图定位,开发记录一下相关的情况.首先地图使用的是腾讯地图接口,https://lbs.qq.com/ 上去注册,注册了后去创建APPID和应用名; 注意创建了应用后 ...
- Android 腾讯地图 选点定位,仿微信发送位置
效果图: 不需要集成定位.地图,然后标记 回调等繁琐的操作,你只需要一个webview,使用腾讯地图的地图选点组件即可. 申请key 接入指引 使用地图选点组件 调用方式一: 通过iframe内嵌调用 ...
- android access 腾讯地图,Android 腾讯地图 选点定位,仿微信发送位置
效果图: 不需要集成定位.地图,然后标记 回调等繁琐的操作,你只需要一个webview,使用腾讯地图的地图选点组件即可. 申请key 接入指引 使用地图选点组件 调用方式一: 通过iframe内嵌调用 ...
最新文章
- 计算机视觉方向简介 | 人体骨骼关键点检测综述
- ping无法访问目标主机 0丢失_预渗透之目标识别
- tableau必知必会之学做常用的倾斜图(slopegraph)
- ZooKeeper 定位:能解决什么问题?不能解决什么问题?
- 你想使用自己编译的内核进行工作吗?
- linux root目录install,Linux如何建立、删除、切换目录?
- 如何5分钟秒懂Java之基础入门篇 第一个hello word
- 枚举遍历法,你能循环遍历所有的枚举值吗?
- python写入数据的一种措施_Python 文件数据读写的具体实现
- 第六次会议(4.15)
- 面试官:来,说说图片防盗链实现?
- Spring Boot 项目工程模板
- Linux-zip和unzip命令
- matlab中princ,主成分分析matlab源程序代码(最新整理)
- 搜索引擎算法研究(一)
- R 回归 虚拟变量na_【R语言进阶】Logistic回归及哑变量设置
- JSP 实用程序之简易图片服务器
- 服务器柜机位置摆放电子图,柜式空调摆放位置有什么要注意的吗
- 中国传媒发展十大趋势
- Unity VFX粒子系统入门笔记-2-制作简易火焰特效