热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

uniapp踩坑(四):android中引入高德地图,实时定位(精度)遇到的问题及解决方法

一、hbuilder直接连手机测试(要不要高德的key都可以)1、测试:没有申请高德地图的key,同时在代码中也没有引入key,但是定位可以实现,且精确。2、存在疑问:那申不申请k

一、hbuilder直接连手机测试(要不要高德的key都可以)
1、测试:没有申请高德地图的key,同时在代码中也没有引入key,但是定位可以实现,且精确。
2、存在疑问:那申不申请key,代码中引不引入key,同时在manifest.json中不配置maps好像对定位精准度都没有影响(确实如此,不用)。
3、解决及原因
uniapp官网目前在安卓平台上集成的是高德地图,直接使用uni.getlocation就可以获取到定位,无需引入key。
4、代码如下

uni.getLocation({
// map组件默认为国测局坐标gcj02,调用 uni.getLocation返回结果传递给组件时,需指定 type 为 gcj02
type: 'gcj02',
geocode: true,
success: ({ longitude, latitude }) => {
// 定位得到的经纬度
console.log('当前位置的经度:' + longitude)
console.log('当前位置的纬度:' + latitude)
this.longitude = longitude
this.latitude = latitude
// 画出定位位置
this.markers[0] = {
longitude,
latitude,
title: '我的位置',
iconPath: '/static/images/icons/myLocation.png'
}
}
})

二、运行到自定义基座上(必须配置高德地图)
1、必须有高德申请的key
在高德开放平台提交资料,获取key(小程序申请小程序的key,android申请android的key,ios对应ios的key,不可混用)(注意,自定义基座调试时,必须appid,包名,key都对应,否则报签名不一致)
2、manifest.json中必须配置

我这里勾选了自动添加第三方所需要的权限,所以这部分就不用管,若没有勾选,则需要自己手动添加。

3、以下三个方法(uniapp,web,和小程序)定位精度相似

采用uni.getlocationplus.geolocation.watchPosition,和
小程序中的amapPlugin.getRegeo方法,其对应的定位精度相似。

三、踩坑之处:
刚开始做的是小程序(引入的是小程序的key,和amaps-wx.js文件,高德官方就有),然后定位不准,误差在500米左右(误差太大了)。然后就想着是不是定位的方法不对,于是就试上面三种方法(主要是想看这三种那个定位更准),发现连手机测试后三个方法的定位都差不多,且精准,但采用自定义基座测试后,就有误差,最后,发现是自己没有在manifest.json中配置maps,当然,配置正确的appid,key,和包名后基座测试,一切ok。

本文地址:https://blog.csdn.net/HYilalala/article/details/109626629



推荐阅读
  • 本文介绍了如何使用Postman构建和发送HTTP请求,包括四个主要部分:方法(Method)、URL、头部(Headers)和主体(Body)。特别强调了Body部分的重要性,并详细说明了不同类型的请求体。 ... [详细]
  • vue引入echarts地图的四种方式
    一、vue中引入echart1、安装echarts:npminstallecharts--save2、在main.js文件中引入echarts实例:  Vue.prototype.$echartsecharts3、在需要用到echart图形的vue文件中引入:   importechartsfrom"echarts";4、如果用到map(地图),还 ... [详细]
  • iOS snow animation
    CTSnowAnimationView.hCTMyCtripCreatedbyalexon1614.Copyright©2016年ctrip.Allrightsreserved.# ... [详细]
  • 如何解决TS1219:实验性装饰器功能可能在未来版本中更改的问题
    本文介绍了两种方法来解决TS1219错误:通过VSCode设置启用实验性装饰器,或在项目根目录下创建配置文件(jsconfig.json或tsconfig.json)。 ... [详细]
  • 本文整理了一份基础的嵌入式Linux工程师笔试题,涵盖填空题、编程题和简答题,旨在帮助考生更好地准备考试。 ... [详细]
  • 使用HTML和JavaScript实现视频截图功能
    本文介绍了如何利用HTML和JavaScript实现从远程MP4、本地摄像头及本地上传的MP4文件中截取视频帧,并展示了具体的实现步骤和示例代码。 ... [详细]
  • 小程序的授权和登陆
    小程序的授权和登陆 ... [详细]
  • 在OpenShift上部署基于MongoDB和Node.js的多层应用程序
    本文档详细介绍了如何在OpenShift 4.x环境中部署一个包含MongoDB数据库和Node.js后端及前端的多层应用程序。通过逐步指导,读者可以轻松完成整个部署过程。 ... [详细]
  • MySQL初级篇——字符串、日期时间、流程控制函数的相关应用
    文章目录:1.字符串函数2.日期时间函数2.1获取日期时间2.2日期与时间戳的转换2.3获取年月日、时分秒、星期数、天数等函数2.4时间和秒钟的转换2. ... [详细]
  • 通过将常用的外部命令集成到VSCode中,可以提高开发效率。本文介绍如何在VSCode中配置和使用自定义的外部命令,从而简化命令执行过程。 ... [详细]
  • 使用ArcGIS for Java和Flex浏览自定义ArcGIS Server 9.3地图
    本文介绍了如何在Flex应用程序中实现浏览自定义ArcGIS Server 9.3发布的地图。这是一个基本的入门示例,适用于初学者。 ... [详细]
  • Framework7:构建跨平台移动应用的高效框架
    Framework7 是一个开源免费的框架,适用于开发混合移动应用(原生与HTML混合)或iOS&Android风格的Web应用。此外,它还可以作为原型开发工具,帮助开发者快速创建应用原型。 ... [详细]
  • 在JavaWeb开发中,文件上传是一个常见的需求。无论是通过表单还是其他方式上传文件,都必须使用POST请求。前端部分通常采用HTML表单来实现文件选择和提交功能。后端则利用Apache Commons FileUpload库来处理上传的文件,该库提供了强大的文件解析和存储能力,能够高效地处理各种文件类型。此外,为了提高系统的安全性和稳定性,还需要对上传文件的大小、格式等进行严格的校验和限制。 ... [详细]
  • 技术分享:使用 Flask、AngularJS 和 Jinja2 构建高效前后端交互系统
    技术分享:使用 Flask、AngularJS 和 Jinja2 构建高效前后端交互系统 ... [详细]
  • 本文详细解析了Autofac在高级应用场景中的具体实现,特别是如何通过注册泛型接口的类来优化依赖注入。示例代码展示了如何使用 `builder.RegisterAssemblyTypes` 方法,结合 `typeof(IEventHandler).Assembly` 和 `Where` 过滤条件,动态注册所有符合条件的类,从而简化配置并提高代码的可维护性。此外,文章还探讨了这一方法在复杂系统中的实际应用及其优势。 ... [详细]
author-avatar
schell
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有