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 接口并 实现两个方法 onLocationChangedonStatusUpdate,前者是位置更新时的回调,后者是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 腾讯地图定位相关推荐

  1. android 集成腾讯地图定位

    本文只教学定位功能,需要搜索.2D或3D地图的可以到腾讯地图开发平台看api文档,链接:腾讯地图 一.到腾讯地图开发平下载定位sdk,快速入口:腾讯地图定位 二.在项目的AndroidManiFest ...

  2. h5/web 原生定位、高德、腾讯地图定位

    在项目添加新功能时,使用cdn方式引入使用地图功能,使用功能只用到了地图的定位.点标记.详细地址查询.poi搜索和输入提示.计算两点之间的距离:因为在寻找高德地图问题时发现h5 和 web 端的好少, ...

  3. vue PC 端使用腾讯地图定位

    vue PC 端使用腾讯地图定位 需求:希望网站显示当前城市 腾讯前端定位组件 解决的方法 定义一个文件,加载定位js 在vue页面中使用 需求:希望网站显示当前城市 腾讯前端定位组件 key的申请, ...

  4. 百度地图、高德地图和腾讯地图定位不准确的解决方案

    需求 由于使用我们公司设备的用户分布在全球各地,最近好多设备都坏了,现在我们公司的修理师要去现场修理设备,但是设备太多了,200多个地址,不好找,而且又不能非常一目了然的查看到分布在全国的需要进行设备 ...

  5. Android开发——百度地图定位

    Android开发--百度地图定位 项目需求 项目内容 注册和获取秘钥 获取项目SHA1码 获取项目AK码 AS依赖配置 AS源码 AndroidManifest文件 布局文件 DemoApplica ...

  6. android+腾讯地图h5,H5调用腾讯地图

    获取当前定位的经纬度并在容器内显示当前位置 (安卓上的位置有点偏差) 在vue的index.html中需要引用 template javaScript export defalut { data(){ ...

  7. 腾讯地图定位及坐标解析

    腾讯地图定位及坐标解析 一个项目,需要打开地图后点击获取地址 用的腾讯地图开放平台,对着文档花了一上午弄出来了 代码: <!DOCTYPE html> <html><he ...

  8. 微信小程序中开发使用腾讯地图定位

    在最近的微信小程序中开发使用到腾讯地图定位,开发记录一下相关的情况.首先地图使用的是腾讯地图接口,https://lbs.qq.com/ 上去注册,注册了后去创建APPID和应用名; 注意创建了应用后 ...

  9. Android 腾讯地图 选点定位,仿微信发送位置

    效果图: 不需要集成定位.地图,然后标记 回调等繁琐的操作,你只需要一个webview,使用腾讯地图的地图选点组件即可. 申请key 接入指引 使用地图选点组件 调用方式一: 通过iframe内嵌调用 ...

  10. android access 腾讯地图,Android 腾讯地图 选点定位,仿微信发送位置

    效果图: 不需要集成定位.地图,然后标记 回调等繁琐的操作,你只需要一个webview,使用腾讯地图的地图选点组件即可. 申请key 接入指引 使用地图选点组件 调用方式一: 通过iframe内嵌调用 ...

最新文章

  1. 计算机视觉方向简介 | 人体骨骼关键点检测综述
  2. ping无法访问目标主机 0丢失_预渗透之目标识别
  3. tableau必知必会之学做常用的倾斜图(slopegraph)
  4. ZooKeeper 定位:能解决什么问题?不能解决什么问题?
  5. 你想使用自己编译的内核进行工作吗?
  6. linux root目录install,Linux如何建立、删除、切换目录?
  7. 如何5分钟秒懂Java之基础入门篇 第一个hello word
  8. 枚举遍历法,你能循环遍历所有的枚举值吗?
  9. python写入数据的一种措施_Python 文件数据读写的具体实现
  10. 第六次会议(4.15)
  11. 面试官:来,说说图片防盗链实现?
  12. Spring Boot 项目工程模板
  13. Linux-zip和unzip命令
  14. matlab中princ,主成分分析matlab源程序代码(最新整理)
  15. 搜索引擎算法研究(一)
  16. R 回归 虚拟变量na_【R语言进阶】Logistic回归及哑变量设置
  17. JSP 实用程序之简易图片服务器
  18. 服务器柜机位置摆放电子图,柜式空调摆放位置有什么要注意的吗
  19. 中国传媒发展十大趋势
  20. Unity VFX粒子系统入门笔记-2-制作简易火焰特效

热门文章

  1. Linux 2.6内核配置说明
  2. 初学者c语言编程软件_初学者的C编程语言
  3. STM8L超低功耗程序编写教学,简单易懂
  4. SQL建表语句转换为Excel表格
  5. Minpro-I编程器的驱动安装
  6. 条码打印机如何打印流水号
  7. 【软考 系统架构设计师】软件架构设计⑦ 构件与中间件技术
  8. java 多线程 面试题整理(更新......)
  9. Mysql环境变量配置WIN10(保姆级)
  10. android开发笔记之xml矢量图片