半驯之马
半驯之马
  • 发布:2024-07-19 19:31
  • 更新:2024-08-22 15:24
  • 阅读:5625

【报Bug】uni.getLocation 配置了腾讯地图Key,type选择gcj02 报错,查看接口显示是https://apis.map.qq.com/jsapi接口返回未授权

分类:uni-app

产品分类: uniapp/H5

PC开发环境操作系统: Windows

PC开发环境操作系统版本号: win10

HBuilderX类型: 正式

HBuilderX版本号: 4.23

浏览器平台: Edge

浏览器版本: 126.0.2592.102

项目创建方式: HBuilderX

示例代码:

uni.getLocation({
type: 'gcj02',
success: res => {

                },  
                fail: (err) => {  

                }  
            })

操作步骤:

getLocation这个api入参的type为gcj02时即可复现

预期结果:

应正常返回结果

实际结果:

调用失败,返回getLocation:fail translate coordinate system fail

bug描述:

uni.getLocation 配置了腾讯地图Key,type选择gcj02 报错getLocation:fail translate coordinate system fail
查看接口调用,发现其中https://apis.map.qq.com/jsapi这个接口调用失败,返回信息为此功能未授权
完整接口地址为https://apis.map.qq.com/jsapi?qt=translate&type=1&points=xx&key=xxx&output=jsonp&pf=jsapi&ref=jsapi&cb=__callback17213882130876722463906432088
其中key和经纬度已被我替换为xxx

2024-07-19 19:31 负责人:无 分享
已邀请:

最佳回复

DCloud_UNI_yuhe

DCloud_UNI_yuhe

Web平台,含uni-app和uni-app x,使用腾讯定位和地图时,uni.getLocation、uni.chooseLocation、uni.onLocationChange
这3个API之前调用了腾讯地图的gcj02坐标免费转换接口,该接口从2024年7月18日起被腾讯逐步下线,导致老版本中本API无法使用。请立即升级到 uni-app 4.24版

升级后仍然失败的同学看这里:

  1. 如果是cli,需要配套升级cli
  2. manifest中配置好自己的地图厂商key。注意是web。
  3. 确保在地图厂商那里配额足够
  4. 确保在地图厂商那里有周边服务的权限。否则无法获取周围地址
  5. web平台确保自己的域名在地图厂商那里正确配置了域名白名单

地图厂商的商业授权较贵,如需购买,请点击获取优惠

如果你的网站只在微信浏览器里运行,可以使用微信的jssdk的定位能力。这个是微信向腾讯地图申请的key,开发者无需配置自己的key。

同时DCloud已经在排查所有涉及到线上接口调用的代码,防止还有其他隐患发生。

以下为过期内容
=================================================

目前可用的临时处理方案,包括:

  • 改用wgs84坐标,如需转换gcj02,自行调用任意一家地图厂商的服务器接口进行转换
  • 如果在微信浏览器中,可使用微信的jssdk获取定位坐标
  • 更新uni-app补丁
    将如下附件压缩包中的JS文件以任何方式引入uni-app WEB项目,源码或者编译后的文件均可。

app相关问题,另见这个帖子:https://ask.dcloud.net.cn/question/195066

  • Harleyx

    大佬 这只是处理了uni.getLocation,H5的uni.chooseLocation没处理呢,一样还是未授权

    2024-07-19 22:04

  • 9***@qq.com

    大佬 这只是处理了uni.getLocation,H5的uni.chooseLocation没处理呢,

    2024-07-19 22:32

  • DCloud_UNI_GSQ

    回复 9***@qq.com: 莫慌,稍后再给出一版免升级解决方案

    2024-07-20 11:43

  • Harleyx

    回复 DCloud_UNI_GSQ: 我还要补充下,uni.getLocation,uni.chooseLocation这两个就算换成腾讯的84,微信浏览器一样不行,

    2024-07-20 11:52

  • DCloud_UNI_GSQ

    回复 9***@qq.com: 已更新修复方式

    2024-07-20 13:29

  • DCloud_UNI_GSQ

    回复 Harleyx: 微信内建议使用微信的jssdk

    2024-07-20 13:30

  • Harleyx

    引入新的js,腾讯的uni.chooseLocation可以用了

    2024-07-20 14:18

  • mengdodo

    回复 Harleyx: 真的假的哦,我安卓一直不行,改了两个js后ios能行,安卓不行,再引入这个js安卓依旧

    2024-07-20 15:34

  • DCloud_UNI_GSQ

    回复 mengdodo: 这是h5/web使用的方式,app的方案参考:https://ask.dcloud.net.cn/question/195066

    2024-07-20 15:35

  • 9***@qq.com

    什么时候能处理好,而不是使用临时解决方案

    2024-07-20 15:37

  • 3***@qq.com

    回复 DCloud_UNI_GSQ: 有没有不更新的方案

    2024-07-20 17:47

  • 3***@qq.com

    你好,uni.chooseLocation选择地图没有显示地址列表,地图也是每次都是固定在天安门 web h5端 是怎么解决的

    2024-07-20 20:25

  • 2***@qq.com

    回复 DCloud_UNI_GSQ: 引了JS,H5的 uni.getlocation也不行啊

    2024-07-20 22:42

  • 1***@qq.com

    为什么我看不到附件?

    2024-07-22 09:46

  • 1***@qq.com

    onLocationChange:fail translate coordiate system fail, 哥,这个接口是否有被影响?

    2024-07-22 11:37

  • DCloud_UNI_yuhe

    回复 1***@qq.com:还得经过验证

    2024-07-22 11:42

  • y***@163.com

    修复版本什么时候发布啊,在线等

    2024-07-22 13:56

  • 1***@163.com

    报错:TypeError: Cannot read properties of undefined (reading 'appendChild')

    2024-07-22 13:59

  • DCloud_UNI_yuhe

    回复 1***@163.com: 确定是getLocation的报错吗?appendChild?

    2024-07-22 14:26

  • 8***@qq.com

    报错:TypeError: Cannot read properties of undefined (reading 'length')

    2024-07-22 14:26

  • 小鹏健康

    改为wgs84并替换了js可以了。但是uni. chooseLocation选择位置后,选中☑️还是要点击两次才能关闭当前地图选择页面回到上一级页面。

    2024-07-22 14:39

  • 8***@qq.com

    import '@/util/location-qqmap-fix.js';在有用到页面这么引入没错吧。早上还可以用。现在uni. chooseLocation报错:TypeError: Cannot read properties of undefined (reading 'length')

    2024-07-22 14:42

  • 1***@qq.com

    回复 Harleyx: 请教一下引入的步骤能不能描述一下

    2024-07-22 15:02

  • 1***@qq.com

    js 引入的步骤能不能描述一下

    2024-07-22 15:04

  • 2***@qq.com

    改为wgs84,增加并引用了上面的js,但转换出来的坐标位置不准

    2024-07-22 16:53

  • DCloud_UNI_yuhe

    回复 1***@qq.com: 引入步骤见下方评论

    2024-07-22 17:04

  • 1***@qq.com

    下次发版具体时间是?

    2024-07-22 18:15

  • 2***@qq.com

    回复 DCloud_UNI_yuhe:h5版本uni. chooseLocation 微信开发者没有问题 打包到线上 不能定位 搜索地址列表响应慢 文件引入了 还是没有变化 求助大佬啊

    2024-07-22 19:56

  • DCloud_UNI_GSQ

    回复 2***@qq.com: 如果使用了腾讯地图等厂商的服务,注意地图厂商后台配置的KEY允许的域名列表是否包含你们的线上服务器域名

    2024-07-23 17:24

  • DCloud_UNI_yuhe

    回复 小鹏健康: 更新版本之后,还有这种问题吗

    2024-07-23 17:51

Mr丿Lee

Mr丿Lee

已解决
处理方案
1.全部替换type = wgs84

  1. choolselocation 不显示问题 可以把上面的附件放到目录里面 import一下,例如
    // #ifdef H5
    import '@/utils/location-qqmap-fix.js';
    // #endif
    当然我替换了hbulider安装目录下的
    __uniappchooselocation.js
    不过感觉应该1,2就能解决
  • 7***@qq.com

    解决了,赞

    2024-07-21 11:55

  • 8***@qq.com

    可行

    2024-07-22 10:32

  • 8***@qq.com

    又不行了,报错:TypeError: Cannot read properties of undefined (reading 'length')

    2024-07-22 14:27

w***@ruiit.com

w***@ruiit.com

都这样的,换微信 jssdk正常。uni.getlocation今早开始慢,下午彻底挂了。

  • 王超

    涉及的项目这么多 官方不修复 后面谁还敢用?都几天了 也没搞定

    2024-07-22 10:19

  • DCloud_UNI_GSQ

    回复 王超: 已与当日发布临时处理方案,昨日已发布版本更新。

    2024-07-23 17:38

jimmy2050

jimmy2050

你好,uni.chooseLocation选择地图没有显示地址列表,地图也是每次都是固定在天安门,调用api报错了这个解决了么,有偿能不能帮小弟解决一下,qq1446316759

  • Harleyx

    相同问题,统一合并到这个帖子处理:https://ask.dcloud.net.cn/question/195066

    在这,工作人员置顶回复那边也写了

    2024-07-20 14:17

3***@qq.com

3***@qq.com

你好,uni.chooseLocation选择地图没有显示地址列表,地图也是每次都是固定在天安门 web h5端

7***@qq.com

7***@qq.com

请问uni.chooseLocation要怎么解决?引入了上面的JS文件,重新打包更新了,还是一样,定位在天安门。

小鹏健康

小鹏健康

改为wgs84并替换了js可以了。但是uni. chooseLocation选择位置后,选中☑️还是要点击两次才能关闭当前地图选择页面回到上一级页面。

DCloud_UNI_yuhe

DCloud_UNI_yuhe

引入方式:

1、从main.js中引入:
import "./location-qqmap-fix.js"

2、在打包后的html文件中引入(unpackage):
<script src="./location-qqmap-fix.js"></script>

  • 2***@qq.com

    你好,请问下转换出来的位置不准确如何解决

    2024-07-22 17:12

  • DCloud_UNI_yuhe

    回复 2***@qq.com: 有偏差吗,你能验证一下是否是坐标系的问题吗

    2024-07-22 17:13

  • 2***@qq.com

    import '@/utils/location-qqmap-fix.js';

    //获取定位

    async getLocation() {

    uni.showLoading({ title: '正在获取位置'});

    uni.getLocation({

    type: 'wgs84',

    success: (res) => {

    this.location=res;

    uni.hideLoading();

    },

    fail: function (res) {

    uni.hideLoading();

    }

    });

    }

    2024-07-22 17:15

  • 2***@qq.com

    <map style="width: 100%; height: 300px;" :latitude="location.latitude" :longitude="location.longitude" :markers="[{latitude: this.location.latitude,longitude: this.location.longitude,iconPath: '../../../static/location.png'}]"></map>

    2024-07-22 17:17

  • 2***@qq.com

    回复 DCloud_UNI_yuhe: 我看了你发的代码,是调用腾讯的标准GPS坐标系批量转换到腾讯地图坐标系。我调用时也是使用的wgs84,但转出来的位置就有偏差

    2024-07-22 17:28

  • Mr丿Lee

    回复 2***@qq.com: 有偏差处理偏差就行,方案是没问题de

    2024-07-22 17:32

  • Mr丿Lee

    不建议用2 因为每次都需要重新引入

    2024-07-22 17:33

  • 2***@qq.com

    回复 Mr丿Lee: 有偏差处理函数吗

    2024-07-22 17:36

  • Mr丿Lee

    回复 2***@qq.com: 我一般是丢服务端转,我写后端比较多,感觉后端转起来更方便点

    2024-07-22 19:58

  • Mr丿Lee

    function wgs84ToGcj02(lat, lng) {

    const a = 6378245.0;

    const ee = 0.00669342162296594323;

    const transformLat = function(wgsLat, wgsLng) {

    let ret = -100.0 + 2.0 wgsLat + 3.0 ee Math.sin(wgsLat Math.PI / 180) + 0.2 Math.sin(2 wgsLat Math.PI / 180);

    ret += 0.00002
    Math.sin(wgsLat Math.PI / 180) Math.sin(wgsLat Math.PI / 180);

    ret += (20.0
    Math.sin(6.0 wgsLat Math.PI / 180) Math.sin(6.0 wgsLat Math.PI / 180)) / 3.0;

    ret += (20.0
    Math.sin(2.0 wgsLat Math.PI / 180) Math.sin(2.0 wgsLat Math.PI / 180)) / 15.0;

    ret += (160.0
    Math.sin(wgsLat Math.PI / 180) Math.sin(wgsLat Math.PI / 180)) / 3.0 Math.sin(wgsLat Math.PI / 180);

    ret += (320
    Math.sin(wgsLat Math.PI / 180) Math.sin(wgsLat Math.PI / 180)) / 15.0 Math.sin(2 wgsLat Math.PI / 180);

    return ret;

    };


    const transformLng = function(wgsLat, wgsLng) {

    let ret = 300.0 + wgsLng + 2.0 Math.sin(wgsLng Math.PI / 180) + 3.0 ee Math.cos(wgsLat Math.PI / 180) Math.sin(wgsLng Math.PI / 180);

    ret += 0.00002
    Math.cos(wgsLat Math.PI / 180) Math.sin(wgsLng Math.PI / 180);

    ret += (20.0
    Math.sin(6.0 wgsLng Math.PI / 180) Math.sin(wgsLat Math.PI / 180)) / 3.0;

    ret += (20.0 Math.sin(2.0 wgsLng Math.PI / 180) Math.sin(wgsLat Math.PI / 180)) / 15.0;

    ret += (150.0
    Math.sin(wgsLng Math.PI / 180) Math.sin(wgsLng Math.PI / 180)) / 3.0;

    ret += (300.0
    Math.sin(wgsLng Math.PI / 180) Math.sin(wgsLng Math.PI / 180) Math.cos(wgsLat * Math.PI / 180)) / 15.0;

    return ret;

    };


    const wgsLat = lat;

    const wgsLng = lng;

    const lats = transformLat(wgsLat, wgsLng);

    const lngs = transformLng(wgsLat, wgsLng);


    const retLat = lats - 0.006;

    const retLng = lngs - 0.006;


    return {

    latitude: retLat,

    longitude: retLng

    };

    2024-07-22 19:59

  • Mr丿Lee

    AI回复你的可以试试看

    2024-07-22 19:59

  • 3***@qq.com

    这样配置了,还是获取不到lbs呀

    2024-07-22 20:28

  • 1***@qq.com

    你好 更新到最新版本 使用uni.getLocation , type: 'gcj02' , Web配置也配了地图key ,

    还是报 errMsg: "getLocation:fail translate coordinate system fail"

    2024-07-23 15:45

  • DCloud_UNI_yuhe

    回复 1***@qq.com: 这样是没配置成功,我刚才测试,正常,把key去掉,报跟你一样的错

    2024-07-23 16:27

  • DCloud_UNI_GSQ

    回复 1***@qq.com: 到地图服务后台检查一下你们的配额,以及域名白名单

    2024-07-23 17:36

  • 1***@qq.com

    回复 DCloud_UNI_yuhe: 按你上面的要求 都检查了 , 使用uni.getLocation , type: 'gcj02' ,之前是在edge 浏览器测试的 是会报 errMsg: "getLocation:fail translate coordinate system fail" , 后面 在 微信浏览器上测试 就不会报错了, 但位置不准确, 请教一下 这问题 有什么好的解决方案 ,谢谢

    2024-07-24 11:00

  • DCloud_UNI_GSQ

    回复 1***@qq.com: 你web平台配置的哪个地图厂商的key?

    2024-07-24 11:28

  • 1***@qq.com

    回复 DCloud_UNI_GSQ: 用的腾讯的

    2024-07-24 14:13

  • DCloud_UNI_GSQ

    回复 1***@qq.com: 腾讯地图后台白名单配置了吗?

    2024-07-24 16:09

  • 1***@qq.com

    回复 DCloud_UNI_GSQ: 没配 不是有写 空白 表示不限制?

    2024-07-24 16:58

  • DCloud_UNI_GSQ

    回复 1***@qq.com: 是的,你在能复现问题的浏览器看一下网络请求

    2024-07-24 17:18

  • 1***@qq.com

    回复 DCloud_UNI_GSQ: 浏览器网络请求没看到有报错的 控制台 报 VM8040:1

    [system] {errMsg: 'getLocation:fail translate coordinate system fail'}

    然后 使用 uni.getLocation 控制台 打印 走的是 fail: (res) =>{}

    报{errMsg: 'getLocation:fail translate coordinate system fail'}

    2024-07-24 17:54

  • DCloud_UNI_GSQ

    回复 1***@qq.com: 看网络请求里请求的哪个转换接口

    2024-07-25 14:37

  • 1***@qq.com

    回复 DCloud_UNI_GSQ: 现在好了 浏览器可以获取到 了 就是定位返回的坐标不准,之前是准的

    2024-07-25 15:44

  • DCloud_UNI_GSQ

    回复 1***@qq.com: 准确程度和之前是没有区别的,如果是PC端测试可以试试edge浏览器,或者手机到空旷的地方搜星试试

    2024-07-25 16:36

DCloud

DCloud

HBuilderX 4.24.2024072208 已修复。

  • Mr丿Lee

    需要删除我们现在引入的那个js吗

    2024-07-22 23:49

  • y***@163.com

    chooseLocation 列表不显示的问题 web 没有修复

    2024-07-22 23:59

  • 2***@qq.com

    更新后确实可以准确获取位置信息了

    2024-07-23 00:52

  • 纵横四海

    Web平台 uni.chooseLocation 目前还没有修复呢,经纬度还是为空的

    2024-07-23 07:57

  • 1***@qq.com

    web端,更新4.24.2024072208版本后gcj02无变化,依旧是需要等很久最后返回的是基于IP地址定位的坐标

    2024-07-23 11:36

  • 1***@qq.com

    问题依然存在

    2024-07-23 11:49

  • DCloud_UNI_GSQ

    回复 Mr丿Lee: 删除与否都可以

    2024-07-23 14:39

  • DCloud_UNI_GSQ

    回复 1***@qq.com: 说明你设备的获取不到高精度坐标,与转换无关,与此次问题无关,与此次修复也无关

    2024-07-23 14:41

  • 1***@qq.com

    回复 DCloud_UNI_GSQ: 之前均可用,本次问题发生时获取高精度坐标场景皆不可用,手机微信h5,网页端均无法使用,navigator.geolocation也无法获取定位,会一直卡住

    2024-07-23 14:56

  • DCloud_UNI_GSQ

    回复 1***@qq.com: 如果navigator.geolocation都不可用,说明与此次坐标转换接口无关,navigator.geolocation是浏览器提供的,如果navigator.geolocation都卡住了,就执行不到后面坐标转换的流程。

    2024-07-23 17:33

  • 2***@qq.com

    uni.getLocation 慢的要死,获取坐标要等3-5分钟

    2024-08-01 10:21

纵横四海

纵横四海

各位H5的DCloud管理员们,目前最新版本更新没有解决微信公众号H5的uni.chooseLocation方法获取地理位置还是为空的,麻烦大佬们看一下哈,谢谢了

  • DCloud_UNI_yuhe

    现在的chooseLocation需要使用key,你检查一下你的key是否有周边服务的权限

    2024-07-23 14:20

  • 纵横四海

    回复 DCloud_UNI_yuhe: 在manifest.json里面设置过了,"sdkConfigs" : {

    "maps" : {

    "qqmap" : {

    "key" : "我的key"

    }

    }

    }

    2024-07-23 14:25

  • 纵横四海

    回复 DCloud_UNI_yuhe: 管理员你好,这块一直有配置key的

    2024-07-23 14:31

  • DCloud_UNI_GSQ

    之前是否正常?微信内更建议使用微信的jssdk

    2024-07-23 14:42

  • 纵横四海

    回复 DCloud_UNI_GSQ: 之前都正常的,看看你们有没有更好的解决方案啊,谢谢了

    2024-07-23 14:50

  • DCloud_UNI_GSQ

    回复 纵横四海: 到地图服务后台检查一下你们的配额,以及域名白名单

    2024-07-23 17:35

  • 纵横四海

    回复 DCloud_UNI_GSQ: 配合肯定没问题的,之前都好好的,腾讯那边说过了,需要你们更新他们最新的api

    2024-07-23 18:03

  • DCloud_UNI_GSQ

    回复 纵横四海: 和腾讯那边确认过旧版接口下架了,已于19日发布临时更新方案,于昨日发布正式版本更新,更新后不再使用旧版的接口。

    2024-07-23 19:37

3***@qq.com

3***@qq.com

4.26 还没发布呢,怎么文档都已经更新了。。。

  • DCloud_UNI_yuhe

    这个是文档错误,是4.24

    2024-07-23 15:28

  • 纵横四海

    回复 DCloud_UNI_yuhe: 你们针对公众号H5的uni.chooseLocation方法还会更新一个版本?

    2024-07-23 16:25

  • DCloud_UNI_GSQ

    回复 纵横四海: 不会,此转换问题与公众号无关

    2024-07-23 16:29

  • DCloud_UNI_GSQ

    回复 纵横四海: 如果是在微信内使用,建议使用微信的jssdk,其使用原生的定位接口比浏览器提供的定位更稳妥。

    2024-07-23 16:33

  • Harleyx

    回复 DCloud_UNI_GSQ: 问题有些项目是不注册微信平台,不做公众号、小程序的,没有AppID,怎么用微信的jssdk呢,是用户习惯直接在微信里点开H5的链接,我们没法强制要求客户不用微信浏览器,还有H5的uni.chooseLocation在微信浏览器都是正常的,就这次腾讯地图更新影响了;就算你们发布4.24了也还是打不开,你们有测试吗?

    2024-07-23 17:09

  • DCloud_UNI_GSQ

    回复 Harleyx: 微信内使用的jssdk只是微信平台给提供的一个优化体验的方式,并不是强制使用的。

    2024-07-23 17:26

  • DCloud_UNI_GSQ

    回复 Harleyx: 关于你说的打不开的问题是指的什么打不开?能否详细描述一下。

    2024-07-23 17:27

纵横四海

纵横四海

我觉得你们先自己测试一下,用uniapp生成h5模式在微信里面打开,uni.chooseLocation无法定位了,腾讯那边的技术人员说,原来的v2接口下架了,你们需要重新更新一下api接口

  • 纵横四海

    回复 纵横四海: 回复 DCloud_UNI_yuhe: 从19号开始调用uni.chooseLocation这个方法就出现{errMsg: "getLocation:fail translate coordinate system fail"},经纬度为空

    2024-07-23 18:36

  • 纵横四海

    https://apis.map.qq.com/ws/geocoder/v1/?output=jsonp&key=我的key&location=undefined,undefined&get_poi=1&poi_options=page_size=20;page_index=1&callback=__callbackxxxxx

    2024-07-23 18:36

  • DCloud_UNI_GSQ

    是的下架了,已更新

    2024-07-23 19:28

  • DCloud_UNI_GSQ

    已于19日发布临时更新方案,于昨日发布正式版本更新,更新后不再使用旧版的接口。

    2024-07-23 19:36

  • DCloud_UNI_GSQ

    如果你使用新版重新发布网站后在特定浏览器仍然请求到了旧版接口,检查一下是否是由于浏览器缓存导致你没有访问到自己网站的新版。

    2024-07-23 19:40

  • Mr丿Lee

    回复 DCloud_UNI_GSQ: 有一个新的问题,就是如果我们的key每个客户用自己的,那这种每个客户都封一个前端还是?

    2024-07-23 20:03

  • 纵横四海

    回复 Mr丿Lee:在manifest.json文件里的sdkConfigs设置key的,你们现在发现问题了?

    2024-07-24 09:49

  • DCloud_UNI_GSQ

    回复 Mr丿Lee: 可以在运行时动态修改,不过属于暂未提供公开支持的方式。

    2024-07-24 11:31

  • 纵横四海

    回复 DCloud_UNI_GSQ: 先有什么解决方案呢

    2024-07-24 14:00

  • DCloud_heavensoft

    回复 Mr丿Lee: 可以用cli,写个命令行脚本,打包时动态修改manifest,然后调cli发布

    2024-07-24 17:30

1***@qq.com

1***@qq.com

uni.chooseLocation,ios目前问题依旧,只能选择位置。还会报错

21:02:31.770 TypeError: undefined is not an object (evaluating 'e.name') ERROR
21:02:31.771 TypeError: undefined is not an object (evaluating 'e.name')
ERROR
21:02:31.771 TypeError: undefined is not an object (evaluating 'e.name') ERROR
21:02:31.772 TypeError: undefined is not an object (evaluating 'e.name')
ERROR
21:02:31.772 TypeError: undefined is not an object (evaluating 'e.name') ERROR
21:02:32.799 TypeError: undefined is not an object (evaluating 'e.name')
ERROR
21:02:32.800 TypeError: undefined is not an object (evaluating 'e.name') __ERROR

服了12345

服了12345

关键点:

  • hbuilderx 升级到4.24
  • 腾讯地图后台的配置管理 -> 账户额度都要配(刚开始只配了ip定位和第二页的周边推荐(explore),发现没有用,然后首页配满了和第二页的第一个和周边推荐就好了,咱也不知道到底要配哪几个,哈哈哈)
1***@qq.com

1***@qq.com - 长路漫漫、、、、、

我想问下哈,微信公众号网页里使用chooseLocation添加地址,安卓上初始化会弹窗定位弹窗然后定位成功然后下面地址列表展示周围地址信息,但是在ios机型上,有时候会弹窗地址权限,有时候会不弹,大部分情况会不弹,然后导致地图展示位置在北京,然后下面地址列表为空,这个问题是不是uniapp自带的chooseLocation未触发到公众号的定位权限,望官方解惑或排查下问题

  • 1***@qq.com

    用的是高德地图,web配置里也进行了地图key和安全密钥也配了,公众号里 ios定位权限弹窗没出来的话就是这样的一个情况,弹窗出来的话是定位成功并展示周边地址列表信息的,但是大部分情况不会弹窗不清楚为什么

    2024-07-31 14:51

  • DCloud_UNI_yuhe

    回复 1***@qq.com: 你在测试的时候,有点过拒绝的情况吗?还有检查过微信是否具有位置授权吗?

    2024-07-31 19:24

  • 1***@qq.com

    回复 DCloud_UNI_yuhe: 未点过拒绝,进入首页的时候会走微信定位获取当前位置展示都是允许的,但是我新增收货地址那里选择地址打开,ios并未弹出是否允许定位的弹窗,安卓手机是不会弹但是是正常的,能获取当前位置并展示周边位置信息,ios展示的是北京且底下没有周边位置信息展示是空白的,拖动才有周边位置信息展示出来,但是是北京的,但是ios偶尔(十次有一俩次)会弹出允许定位的弹窗点击允许然后位置是对的,底下列表也是正常的展示周边位置信息,不清楚为啥

    2024-08-02 09:37

  • 1***@qq.com

    回复 DCloud_UNI_yuhe: 我现在选择地址的时候我把首页定位过的经纬度给传过去了,是正常展示的,希望官方排查下修复下吧 /捂脸

    2024-08-02 09:38

  • DCloud_UNI_yuhe

    回复 1***@qq.com: 是把定位过后的经纬度传过去就稳定好了?

    2024-08-02 10:51

  • 1***@qq.com

    回复 DCloud_UNI_yuhe: 是的,不传的话ios不出现定位授权弹窗然后地图位置展示不对,底下列表也没任何信息,建议还是看下这个问题给改下,不然如果遇到其他地方没定位的直接使用这个方法进入,ios会出现那种在北京,底下空白的情况

    2024-08-02 16:26

  • 纵横四海

    回复 DCloud_UNI_yuhe: 拖动才有周边位置信息展示出来,但是是北京的位置,地址都空白的,所以这问题一直是存在的,所以你们麻烦检查一下,重新发一个版本的,大家都是存在问题的,不然也不会来反馈问题啊

    2024-08-02 23:37

  • 1***@qq.com

    回复 纵横四海: 我说的是ios手机在微信浏览器环境下的情况,这个情况是因为微信授权定位弹窗没出来,安卓是正常的,浏览器环境应该都是正常的

    2024-08-05 09:53

  • 1***@qq.com

    回复 DCloud_UNI_yuhe: 希望官方解决下这个问题,几个项目都出现这个情况了,目前是把已经定位后的经纬度传过去了,地图位置展示当前的位置并底下列表有展示,如果不传多项目都出现地图展示位置在北京,底下列表为空,拖拽地图后才能展示列表的问题

    2024-08-21 14:45

b***@burgeon.cn

b***@burgeon.cn

yarn upgrade @dcloudio

1***@qq.com

1***@qq.com

chunk-vendors.js:44619 [Vue warn]: Error in mounted hook: "TypeError: (t.OverlayView || t.Overlay) is not a constructor"

h5使用uni.chooseLocation 报这个错 一直转圈圈 配的腾讯地图的key 配额 白名单都没问题

  • DCloud_UNI_yuhe

    你好,可以私信发我一个可以复现的项目吗?

    2024-08-07 17:43

  • 纵横四海

    回复 DCloud_UNI_yuhe: 我发了好几次,h5使用uni.chooseLocation一直报错,出现{errMsg: "getLocation:fail translate coordinate system fail"},经纬度为空, 配的腾讯地图的key 配额 白名单都没问题

    2024-08-08 14:12

  • DCloud_UNI_yuhe

    回复 纵横四海: 你私信发我一下你的key,我测试一下

    2024-08-08 14:24

  • 纵横四海

    回复 DCloud_UNI_yuhe: 你好,我已经私给你了,麻烦你回复一下我的私信啊,谢谢了

    2024-08-08 15:12

  • DCloud_UNI_yuhe

    回复 纵横四海: 好的

    2024-08-08 15:30

  • 4***@qq.com

    回复 纵横四海: 插眼,解决了踢我一下,谢谢

    2024-08-15 09:58

7***@qq.com

7***@qq.com - 今天没上网

大佬 公众号h5页面 我这为什么走不进去uni.getLocation这个api
这是我的代码之前是能跑通的

微信开发工具是能走进这个api,也能够正常调用,浏览器和移动端无法走进这个api
这个图是升级的版本号4.24


提示此功能未被授权

纵横四海

纵横四海

公众号手机端h5安卓和苹果,调用uni.chooseLocation一直都有定位问题,所以DCloud_UNI各位大佬们有没有解决的方案啊

  • 1***@qq.com

    一样 ,大佬解决了吗?

    2024-08-28 09:37

  • 7***@qq.com

    回复 1***@qq.com: 升级4.24版本

    2024-08-28 17:30

要回复问题请先登录注册