uni-app中uni.chooseLocation选择地图未显示地址列表,且地图每次固定显示在天安门,调用API报错

发布于 1周前 作者 sinazl 来自 Uni-App

uni-app中uni.chooseLocation选择地图未显示地址列表,且地图每次固定显示在天安门,调用API报错

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

报错提示:
[JS Framework] Failed to execute the callback function: TypeError: Cannot read property ‘points’ of undefined

reportJSException >>>> exception function:WEEX_CALL_JAVASCRIPT, exception:JavaScript execute error!Uncaught TypeError: Cannot read property ‘points’ of undefined
at (/__uniappchooselocation.js.nvue:1:28376)

iOS和Android都有这个问题,并且历史版本本来好好的,突然也出现这个问题了,手机权限啥的都是有授权的

信息类型 信息
图片

527 回复

原因: 腾讯地图有一个线上坐标系转换接口下线了,之前使用的是其提供的一个免费的坐标转换接口。目前该接口已经无法使用。而uni-app部分功能依赖了这个接口:

web端的腾讯定位和地图时的uni.getLocation、uni.chooseLocation、uni.onLocationChange
app端的uni.chooseLocation

方案: 目前问题已经修复,请更新到4.24版。新版在对坐标进行转换时,使用开发者自己配置的key。
升级后仍报失败的开发者,原因汇总:

如果是cli或离线打包,需要配套升级cli和离线sdk。
manifest中配置好自己的地图厂商key。web和app都需要。一般标准基座正常,自定义基座和打包后异常,都是这个原因
确保在地图厂商那里配额足够
确保在地图厂商那里有周边服务的权限。否则无法获取周围地址
web平台确保自己的域名在地图厂商那里正确配置了域名白名单
app平台确认在地图厂商配置了正确的包名和签名
app端支持使用wgt更新

地图厂商的商业授权较贵,如需购买,请点击获取优惠。
同时DCloud已经在排查所有涉及到线上接口调用的代码,防止还有其他隐患发生。

新增内容 自HbuilderX 4.24 更新后,许多开发者可能由于没有正确配置key,导致uni.chooseLocation依然无法运行
如果你的项目出现如下错误,那么你需要检查是否是key配置错误
这里是已复现的报错信息(一般是无法显示列表):
1、使用标准基座
ios无法直接使用标准基座运行,Android可以
如果你看到下面两种错误,则说明你使用了ios标准基座运行

[JS Framework] Failed to invoke the event handler of “click” on view (20):TypeError: undefined is not an object (evaluating ‘A.name’) __ERROR
[JS Framework] Failed to execute the callback function:null is not an object (evaluating ‘this.$refs.nearListLoadmore.resetLoadmore’) __ERROR

需要你进行以下操作才可以运行ios标准基座: iOS 使用 io.dcloud.HBuilder (Bundle ID)重签名HBuilderX基座
2、使用自定义基座
如果你的Android项目报错如下所示,则需要检查配置错误

【vue3】reportJSException >>>> exception function:WEEX_CALL_JAVASCRIPT, exception:JavaScript execute error!Uncaught TypeError: Cannot read property ‘name’ of undefined at doneClick (/__uniappchooselocation.js.nvue:32:14667)
【vue2】 {“errMsg”:“chooseLocation:fail cancel”} TypeError: Cannot read property ‘name’ of undefined

如果你的ios项目出现如下报错,则需要检查配置错误

【vue3】[JS Framework] Failed to invoke the event handler of “click” on view (292):TypeError: undefined is not an object (evaluating ‘A.name’) __ERROR
【vue2】TypeError: undefined is not an object (evaluating ‘e.name’) __ERROR

检查自己的配置 注意事项:
1、cli项目(不是通过hbuilderX创建的,即运行时需要通过命令运行的项目),不能直接拖入HbuilderX中进行打包重新运行,需要更新依赖,如果你的错误信息包含:TypeError: Cannot read property ‘points’ of undefined,则大概率是没有更新。
2、在打自定义基座前,需要确保地图厂商的key已经存在于mainfest,如果修改key需要重新打自定义基座。
3、如果使用公共测试证书,不能直接打包或者使用自定义基座。因为公共测试证书的信息与你自己的地图厂商信息不一致,因此要使用自己的证书(生成方法:在dcloud开发者后台,找到对应的应用可以生成)
高德地图 https://console.amap.com/dev/key/app
Android高德地图需要检查SHA1与PackageName是否与自定义基座和打包后一致 注意:Android在服务现在时,要选择Android平台

ios中高德地图需要检查Bundle ID是否与项目一致

腾讯地图 https://lbs.qq.com/dev/console/application/mine
需要检查sdk处的配置是否正确 腾讯地图需要保证配额,至少要保证下面三个接口有配额

/ws/geocoder/v1?location=*
/ws/coord/v1/translate
/ws/place/v1/search

以下为过期内容:

在发布新版之前,临时解决方案有两类:

不使用uni的这2个有问题的api的转换gcj02坐标功能,直接用系统定位获取wgs84坐标,自行调用任意一家地图厂商的服务器接口进行坐标转换。

下载uni-app补丁,升级这2个有问题的api

如下:

app平台vue3临时解决方案 把附件中的js文件替换到:

HBuilderX/plugins/uniapp-cli-vite/node_modules/@dcloudio/uni-app-vite/lib/template/__uniappchooselocation.js
替换后重新打包

app平台vue2见下方本人的另一个回复

web平台另见帖子:https://ask.dcloud.net.cn/question/195113

app端可以发布wgt升级解决,也可以重新打包升级app。


还有别的方法吗,这还得打包,官方有不需要重新打包的方案吗

getLocation也是同样的问题,这个文件有用?

需要重新打包?

有wgt的更新解决方案吗,这样可以快速处理

回复 7***@qq.com: 解包之后,在apk文件中替换这个文件,apktooles解包

回复 DCloud_UNI_yuhe: 替换之后如何操作

回复 DCloud_UNI_yuhe: 替换之后如何操作

替换后重新打包吗

回复 2***@qq.com: 重新打包试试

你这个是本地打包解决方案吗,云打包可以吗,我替换了好像不行,mac 操作系统

回复 DCloud_UNI_yuhe: 有没有不需要重新打包的解决方案呢,最快什么时候有完美的解决方案?

回复 BigHornet: 替换后,android 和 ios 重新云打包后还是不行

getLocation获成jssdk的可以了。选择的还是不行!

回复 8***@qq.com: 试一下输入文字好使吗

回复 DCloud_UNI_yuhe: 不好使

大佬 你说错了,web端使用的是腾讯地图的话,这两个API都报错uni.getLocation和uni.chooseLocation,

回复 Harleyx: 补充一点,还有微信浏览器也没反应

回复 Harleyx: web 端临时处理方案已更新

vue3 app项目 替换js文件,重新打自定义基座之后还是无法自动定位,输入框搜索可以

什么时候有结果,vue3 android, ios

有没有技术可以支持一下,我试了3.9.8和最新版本编辑器,替换Vue2两个文件,云打包,真机调试,wgt包都试过了都不行

回复 7***@qq.com: H5的,直接在web配置,改高德的(公司买的key和安全密钥),就可以了,还是用腾讯逆地址的,会差距五六百米,这方法暂时可以用用,比空白的强

你好,调试时候可以用chooseLocation 正式版不能用呀

回复 恒大拍卖: 你好,你先使用标准基座测试一下行不行。 再使用自定义基座运行或者打包,如果不行一般就是key的问题。

回复 DCloud_UNI_yuhe: ios的云打包的用不了

今天更新了HbuilderX,不是一直定位天安门了,但是地址列表一直加载不出来,这是什么原因呢?

回复 UNIAPP郭: 你检查一下你的key,是否有周边服务的权限

大佬,更新之后云打包路径全在报错是什么原因啊,https://ask.dcloud.net.cn/question/195333

我们这边搞了一个的高德账号大家一起共享 有需要可联系wx: aiyu154

回复 DCloud_UNI_yuhe: 这个真的完全修复好了吗?我今天打自定义基座又定到天安门了。4.24 的版本

回复 9***@qq.com: 这种不需要

回复 UNIAPP郭: 注意检查key的配置以及厂商后台配置的包名签名是否与你打包的一致

回复 DCloud_UNI_GSQ: 目前我这边已经HBuilder X的版本 我已经升级到了4.24版 然后我也配置了腾讯地图的key

我调用 uni.chooseLocation 这个方法还是一样的 就是一进来无法获取当前IP定位 也没有下面的列表 然后我发现根本原因就是因为没有办法获取当前位置才没有下下面的列表 搜索功能 都是好的

回复 DCloud_UNI_GSQ: 还有uni.chooseLocation 获取当前位置那个按钮的事件也失效了 这个是还需要配置什么东西吗

回复 9***@qq.com: 你说的是web还是app?

回复 DCloud_UNI_GSQ: 是 H5 然后目前发现 uni.chooseLocation 第一次会请求 https://confinfo.map.qq.com/confinfo? https://apis.map.qq.com/ws/geocoder/v1/?

再地图页面 等待40多秒 会触发下面这个接口 https://apis.map.qq.com/ws/location/v1/ip? 拿到当前位置的经纬度 再请求 下下面这个接口 https://apis.map.qq.com/ws/geocoder/v1/?

回复 DCloud_UNI_GSQ: 根本原因就是页面 这个获取当前位置这个接口 https://apis.map.qq.com/ws/location/v1/ip? 等待40多秒才会触发

app getLocation高德定位可以,搜索附近一直在转圈。配置的key是有周边服务的,app和web都配置了,但是搜索还是一直在转圈了,没有数据返回,标准基座是能获取的,自定义基座不行

回复 1***@qq.com: 配置的是哪家的key

回复 DCloud_UNI_yuhe : 腾旭地图

回复 9***@qq.com: 同样的问题,解决了吗?

回复 9***@qq.com: 这就和转换无关了,说明精准位置获取超时了,你可以换一个设备或者浏览器再试试。

为什么安卓地图列表正常,ios 地图列表没有数据,ios 点击完成还报错,https://ask.dcloud.net.cn/question/195570

为什么高德 ios 地图跟定位不行啊,安卓正常,也是按照文档配置的 key啊 ,请尽快回复,急急

您好! 已经升级到4.2.4,vue2 使用高德地图,配置了web的key和Android的key,使用uni.chooseLocation的时候,地图显示在天安门,列表一片白,移动地图以后列表可以出现内容,点击定位按钮无反应,报错如下 Gelocation Error: code - 18; message - not support gcj02 at template/__uniappchooselocation.nvue:292

iOS无问题,只有Android有问题,请问如何解决?

1、cli项目----TypeError: Cannot read property ‘points’ of undefined,则大概率是没有更新。 请问更新哪些依赖,更新到多少?

回复 cere: 更新到最新的

回复 UNIAPP郭: 解决了吗?我也是

alpha版本的什么时候升级啊

回复 1***@qq.com: 哎,是啊。我也是这样。官方也解决不了,愣说我配置的有错误。。。。。

使用谷歌地图,选择位置的时候默认位置在天安门,也没有地址列表,只能扒拉地图定位,而且只有一个位置,这是什么原因呢?

回复 9***@qq.com: 问下关于这个问题 你们是怎么解决的

我也遇到这个问题,文件也替换了,key也没问题,安卓的正常,但ios的本地和打包都不行

App Vue2把
替换如下文件: HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/uni-cli-shared/template/common/__uniappchooselocation.js
HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/uni-app-plus/template/common/__uniappchooselocation.js
替换为附件中的文件 后重新打包
我们需要收集对开发者的影响,请您填一下这个问题收集: 【腾讯文档】choosLocation影响收集 https://docs.qq.com/form/page/DZWFjVkRHb0lEWFRD
vue2尝试替换新上传的文件,见vue2评论区

已解决,感觉腾讯开始要收5万一年了。

回复 8***@qq.com: 感谢回复

回复 DCloud_UNI_yuhe: 解决没有,我替换了重新打包还是定位不了,现在用户投诉电话打爆了

回复 j***@163.com: 可以运行一下试试吗?运行还有报错没有?

可以了吗?我换了重新打包,还是定位到了天安门

回复 DCloud_UNI_yuhe: 我换了重新打包,还是定位到了天安门,重新自定义基座后运行还是报[JS Framework] Failed to execute the callback function: TypeError: Cannot read property ‘points’ of undefined 21:00:36.659 reportJSException >>>> exception function:WEEX_CALL_JAVASCRIPT, exception:JavaScript execute error!Uncaught TypeError: Cannot read property ‘points’ of undefined at (/__uniappchooselocation.js.nvue:1:28376)

回复 j***@163.com: 报同样的错误,。。。

21:03:04.334 [JS Framework] Failed to execute the callback function: TypeError: Cannot read property ‘points’ of undefined 21:03:04.334 reportJSException >>>> exception function:WEEX_CALL_JAVASCRIPT, exception:JavaScript execute error!Uncaught TypeError: Cannot read property ‘points’ of undefined at (/__uniappchooselocation.js.nvue:1:28376)

回复 j***@163.com: 这个错误替换后肯定能解决,你检查一下看看是不是替换错了

回复 DCloud_UNI_yuhe: 是不是那个压缩包有问题?我也一样报错

我标准基座运行还是不行,谁知道打包后到底能解决不

回复 DCloud_UNI_yuhe: 输入文字后可以,不自动定位到当前位置

回复 Lnews: 你是之前直接报错,替换文件之后,不报错但是不自动定位是吗

回复 DCloud_UNI_yuhe: 不是,之前输入文字都没反应,替换后,打开选择器还是报错,但是输入文字好使了

回复 DCloud_UNI_yuhe: 我替换之后,还是没有自动定位,使用getLocation报错ail translate coordinate system fail

回复 3***@qq.com: getLocation,需要使用wgs84坐标,临时方案是先自己转一下坐标

回复 DCloud_UNI_yuhe: chooseLocation也是转wgs84?

回复 DCloud_UNI_yuhe: 这个文件才1k对吧,应该没有错,我重新替换试试

回复 DCloud_UNI_yuhe: chooseLocation目前现状是定位会到北京,然后输入地址后,可以定位到选择的地址上,点击选择不会自动定位到当前位置

[JS Framework] Failed to execute the callback function: TypeError: Cannot read property ‘points’ of undefined 21:22:29.693 reportJSException >>>> exception function:WEEX_CALL_JAVASCRIPT, exception:JavaScript execute error!Uncaught TypeError: Cannot read property ‘points’ of undefined at (/__uniappchooselocation.js.nvue:1:28376)

回复 j***@163.com: 定位不一定好,但是应该能保证大多数选择位置可以

回复 j***@163.com: 这样就是没替换对,vue2要找uniapp-cli下的,vue3要找uniapp-cli-vite下的

回复 DCloud_UNI_yuhe: 我刚刚用了置顶的文件显示白屏,vue2和vue3的文件是不是不一样

我认真替换一次,应该是漏了

回复 DCloud_UNI_yuhe: 替换对了,不可能都替换错,我们问题现在一样

HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/uni-cli-shared/template/common/__uniappchooselocation.js

HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/uni-app-plus/template/common/__uniappchooselocation.js替换之后白屏

reportJSException >>>> exception function:createInstanceContext, exception:white screen cause create instanceContext failed,check js stack ->Uncaught SyntaxError: Invalid or unexpected token

回复 j***@163.com: 现在老板站在身后,要扣工资了

回复 DCloud_UNI_yuhe: 希望可以修复好,我们临时改成getLocation获取经纬度,然后用高德的poi服务拿地址列表的方案了

回复 j***@163.com: 硬气一点

回复 j***@163.com: 让他给你加工资,全栈换RN

回复 j***@163.com: 给您添麻烦了

回复 3***@qq.com: 感谢回复,你这是个很好的思路

回复 DCloud_UNI_yuhe: 现在有好的方案了吗?还是白屏

回复 3***@qq.com: chooseLocation用wgs84能获取吗?

回复 7***@qq.com: 那可能是定位的问题,你看一下换个坐标系能解决吗?

vue2替换后 app端还是不行,3.9.8版本

请问内部现在有找到解决的方向吗

回复 DCloud_UNI_yuhe: 我现在替换了文件,以前的文件没了,新文件chooseLocation直接用wgs84?

回复 7***@qq.com: getLocation这个我目前正常,没发现问题,就是chooseLocation这个不能定位到当前

回复 BigHornet: 这个是由于一个坐标转换的接口失效造成的,如果不能再用了,可能我们得需要重新构建chooseLocation,届时需要开发者传递自己key,以往这个接口是免key的

回复 哈尼: 感谢反馈,填一下这个收集 我们需要收集对开发者的影响,请您填一下这个问题收集: 【腾讯文档】choosLocation影响收集 https://docs.qq.com/form/page/DZWFjVkRHb0lEWFRD

回复 Lnews: 用的是wgs84吗?

回复 DCloud_UNI_yuhe: 没用 两个文件替换后重新打包自定义基座后 chooseLocation白屏

回复 DCloud_UNI_yuhe: 以前的两个文件在哪能下载?还是要重新下载hbx

替换后 还是报这个错误,我是用的最上面的压缩包,你这个评论的压缩包解压后是个1kb的替身文件,使用最上面的文件报错:reportJSException >>>> exception function:WEEX_CALL_JAVASCRIPT, exception:JavaScript execute error!Uncaught TypeError: Cannot read property ‘points’ of undefined at (/__uniappchooselocation.js.nvue:1:28376)

回复 DCloud_UNI_yuhe: 请问下cli项目,是替换项目里的node_modules/@dcloudio中的对应文件吗?

替换后手机模拟点击就白屏 报这个错reportJSException >>>> exception function:createInstanceContext, exception:white screen cause create instanceContext failed,check js stack ->Uncaught SyntaxError: Invalid or unexpected token

回复 dsfsdfsdf_213: 感谢反馈

回复 8***@qq.com: 问一下你怎么解决的,我们替换白屏,是替换错了吗,

回复 DCloud_UNI_yuhe: 你好 我们替换白屏的 是替换错了吗

回复 DCloud_UNI_yuhe: 我们替换也是白屏,reportJSException >>>> exception function:createInstanceContext, exception:white screen cause create instanceContext failed,check js stack ->Uncaught SyntaxError: Invalid or unexpected token

回复 liuxing: vue2尝试替换新上传的文件,见vue2评论区

回复 liuxing: 重新替换一下文件,注意一下vue2和vue3使用不同路径

替换完白屏,想问一下今天能解决吗,明天可就周天了,不是我们催,这个影响太大了,你们先给个靠谱点的文件,替换完能用就行,谢谢

chooseLocation vue2 点击白屏

回复 DCloud_UNI_yuhe: 可以了 选择地址可以出来了

回复 DCloud_UNI_yuhe: 新文件好使,感谢

回复 dsfsdfsdf_213: 你是直接打包还是真机调试

回复 liuxing: 你们能用了?为啥我还是不行呢!

回复 Lnews: 刷新页面,上面有一个vue2新.zip

替换新文件后,发行打包自定义基座,运行到android机上还是报这个错误

回复 DCloud_UNI_GSQ: 为什么我用新的vue2替换了两个地方打包h5还是不行, 提示location报错,/ws/geocoder/v1/?output=jsonp location: undefined,undefined get_poi: 1 poi_options: page_size=20;page_index=1 callback: __callback17214528392739180182383350761

回复 BigHornet: 和hbx版本有关系吗,我目前使用3.9.8,vue2 新文件,android 调试包不行

回复 DCloud_UNI_yuhe: 再补充下,只针对chooseLocation,ios下可以定位到本地,但是只能到市政府,不能到我的具体位置,好歹是能出来,相关地点也能出来。但是安卓还是空白

回复 mengdodo: web端方案参考:https://ask.dcloud.net.cn/question/195113

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

回复 jimmy2050: 参考方案中替换文件后重新打包

vue2 的使用的是高德,替换了可以了

替换了以后选择地图可以了,但是定位不行

回复 8***@qq.com: 应该是,定位一次收一次钱,企鹅一贯的作风

回复 lzp1214: 你说的“定位不行”指的具体是哪个定位

回复 jimmy2050: 我这边算是变相解决了,ext拓展里面有个6月份更新过的地图拓展能用,但就是定位不准,我用微信jssdk获取经纬度后传递进去,这样就准了,地图也有了,搜索附近也有了。算是彻底放弃了uni.location和chooselocation,吐槽下一点都不靠谱

回复 mengdodo: 抱歉给您造成麻烦了

我的项目上没有HBuilderX/plugins/uniapp-cli这个文件,不是cli项目,但是是uniapp vue2版本的项目,__uniappchooselocation.js这个文件只在项目中的unpackage文件中存在,而且替换了也无效,请问要怎么解决

回复 d***@163.com: 肯定是有的,要不然连运行都不行,您再仔细看下

回复 DCloud_UNI_yuhe: 可以了,我搞错了,一直在找项目里的文件,原来是软件里的文件,谢谢

替换后,在运行到 andriod app基座没问题,云打包后就失效了

回复 j***@163.com: 我要被裁了,说这个搞几天了都木有搞好,上周五就出现了

回复 brisk21: 按他说的把文件替换了就可以解决了

回复 d***@163.com: 你定位准确吗,我替换可以了,但是定位不准确了

回复 liuxing: 准确的,跟之前用的一样

替换后,在运行到 andriod app基座没问题,云打包后可定位但是显示loading,无法选择地址

vue2 打包APP,已经解决

替换两个js之后可以了,确认是替换两个

我的替换后 下载最新版4.23 报 code - 2; message - get location fail. at template/__uniappchooselocation.nvue:292

你好 更换你给的文件后 继续使用 gcj02 ,出现了定位误差,误差可能有1公里,用的是uniapp 这个怎么解决呢?

Gelocation Error: code - 1; message - [geolocation:12]缺少定位权限 请到http://lbs.amap.com/api/android-location-sdk/guide/utilities/errorcode/查看错误码说明,错误详细信息:定位服务没有开启,请在设置中打开定位服务开关#1206#pm111111 at template/__uniappchooselocation.nvue:292

你好,更换后出现这个报错,还是不行,已经将应用位置权限允许的了。

这两个文件替换了,还是不行 报坐标转换错误

vue2项目,按照方案替换两个js,已经解决了。但是是临时方案,什么时候发布新版呢?新版发布后临时方案可以继续使用吗?

回复 w***@163.com: 老哥,你怎么弄了,替换后就可以吗,hbuilderX是什么版本

回复 1***@qq.com版本是4.15, 直接替换打包后也可以定位

vue2 替换了 还是不行 啥时候修复问题呢

替换了文件,但是地址搜索框还是不能搜索出地址

下个版本什么时候发布?

换了文件还是一样,怎么弄

回复 dci797: vue2的

回复 5***@qq.com:我现在也是这种情况,ios搜不出来,提示【对不起,没有搜索到相关数据】。android可以

哎等官方更新版本吧,mac操作系统,vue2,4.23版本,更换了文件打包最新的调试包也不行,通过hbuilderX打wget更新页面白屏了(具体原因未知),但是通过cli打包出来的wget是可以正常更新的,但地图定位不生效问题还是在

回复 BigHornet: 尝试了删除重新安装hbuilderX

这个临时方案坐标系类型变了么?

回复 d***@163.com: 软件里,是在哪个路径下呢

我的App项目是用Vue2开发的,替换了两个文件后重新打包了一下app好使了,hbuilderx版本是3.99

vue2替换完文件后,只能定位一次,第二次success、fail都没有返回值

我们这边搞了一个的高德账号大家一起共享 有需要可联系wx: aiyu154

回复 d***@163.com: mac上这个软件里的文件在哪里

为什么安卓地图列表正常,ios 地图列表没有数据,ios 点击完成还报错,https://ask.dcloud.net.cn/question/19557

我用的是uni.getLocation,报错却是getLocation:fail Error Domain=PGLocation Code=2 “不能获取到位置” UserInfo={NSLocalizedDescription=不能获取到位置},这是什么原因

回复 nnnullll:哪家地图,什么平台的?

回复 DCloud_UNI_yuhe: 天地图

回复 DCloud_UNI_yuhe: app平台

回复 nnnullll: 这不是官方支持的,你需要自己做适配

回复 DCloud_UNI_yuhe: 我升级完4.24版本后使用自定义基座,hbuilder里面可以打印出来详细地址,但是在手机上还是没有显示,我是不是需要重新打包试试

回复 DCloud_UNI_yuhe: 我重新打包安卓可以拿到位置 ios却不行 这是为啥

回复 DCloud_UNI_yuhe: 你好我想问下uni.getLocation这个方法使用type: 'wgs84’的时候获取定位加载很慢有什么办法可以优化吗,或者现在可以用type: 'gcj02’吗

回复 nnnullll: 不确定这个定位加载很慢是啥引起的。gcj02支持看你的使用方式了。

回复 DCloud_UNI_yuhe: 安卓使用gcj02可以获取到位置而且很快,但是ios使用gcj02却打印fail获取不到位置,但是ios使用wgs84可以

回复 nnnullll: 你andorid和ios用的是哪家地图,运行到真机还是模拟器

回复 DCloud_UNI_yuhe: 用的都是天地图,运行到真机上的

我替换了还是报这个错误10:28:24.704 [JS Framework] Failed to execute the callback function: 10:28:24.704 TypeError: undefined is not an object (evaluating ‘this.$refs.nearListLoadmore.resetLoadmore’) __ERROR

我替换了还是不行,空白列表app的ios端

回复 1***@qq.com: 这个你解决了嘛

感谢反馈,我去检查一下是哪出问题了

uni.chooseLocation 现在报错地址全在北京,只有app是这样,小程序正常,急

同样问题,等回复,我们公司八九个app都用不了了

回复 j***@163.com: 正常配置应该不会出现这个问题的

回复 STMCN: 这些配置都有,而且它是运行的好好的,突然出现的错,之前一直没问题,上线很久了

回复 j***@163.com: 检查腾讯地图后台的用量总数据哪里是不是没有了。因为免费用量超出了就不行了

回复 STMCN: 我是花钱买的高德流量,流量很足,高德的说,是uni侧的问题,得他们看

回复 STMCN: 你不要找存在感了。。。这个问题肯定是uni那边的问题

回复 1***@qq.com: 检查key接口返回报错的问题嘛,多刷新几次就知道问题在哪里了

回复 7***@qq.com: 我自己的没报错,我只是发表自己遇到的问题处理结果。你要觉得我找存在感的话也无所谓的,我就是存在的!

回复 STMCN: 合着就你没配错,楼里所有人都配错了呗

大概多久可以好

回复 7***@qq.com: 我们也没问题

同样的问题 前两天还好着 今天发现不可以了

vue3得什么时候好,老板再质疑我们当初选uniapp的锅了,操蛋

回复 接app小程序单: 正在进入发版流程了,待会hbuilderX会弹出更新

回复 DCloud_UNI_yuhe: 更新hbuilerX后重新打包,还是不行,你们更新之前真的做了测试了吗

回复 海贼王路飞: 具体描述一下问题

回复 DCloud_UNI_GSQ: cli创建的vue3项目更新到最新hb工具,不管是标准基座、自定义基座真机调试还是云打包出来的ios包,高德地图自动定位一直报TypeError: undefined is not an object (evaluating ‘e.data.detail.points’) __ERROR的错误

回复 海贼王路飞: 升级CLI

回复 DCloud_UNI_GSQ: 我不是用cli创建的vue2项目也出现这个错误了,需要如何去解决呢

回复 小王1126: 看下置顶评论

为什么安卓地图列表正常,ios 地图列表没有数据,ios 点击完成还报错,https://ask.dcloud.net.cn/question/19557

正在排查,大家稍安勿躁

好的 尽快解决一下哈

回复 7***@qq.com: 官方的下班了吗?

VUE2 替换白屏

回复 哈尼: 我也是

回复 尘也: vue2尝试替换新上传的文件,见vue2评论区

我们也遇到了,还以为是我们自己配置问题,搞了半天

一样,以为高德api 限量了,各种比对,主要是没有发现生成apk 突然就不行

什么时候能发版,这才是最重要的;!!!

回复 DCloud_UNI_yuhe: vue 2 app端 按照发的文件替换后,自定义基座下报这个错,定位可以了,但是下方的列表没有,一直转圈[JS Framework] Failed to execute the callback function: TypeError: Cannot read property ‘reload’ of undefined 09:52:37.852 reportJSException >>>> exception function:WEEX_CALL_JAVASCRIPT, exception:JavaScript execute error!Uncaught TypeError: Cannot read property ‘reload’ of undefined at eval

回复 DCloud_UNI_yuhe: 发版了吗

回复 DCloud_UNI_yuhe: 发版了没有,你们周末干什么去了!

回复 DCloud_UNI_yuhe: 为什么安卓地图列表正常,ios 地图列表没有数据,ios 点击完成还报错,https://ask.dcloud.net.cn/question/19557

回复 jgj_app: 哪家地图?

回复 DCloud_UNI_yuhe: 高德地图

回复 DCloud_UNI_yuhe: 你加我 qq 1370529270 解决下么,公司催的急啊

回复 jgj_app: 我也是,请问解决了没

HBuilderX 4.24.2024072208 已修复。

之前替换的文件仍然保留吗?

云打包后可定位但是显示loading,无法选择及显示地址

升级后还是一样, 自定义基座和正式打包都试过了

vue3项目,hbuilderX升级后,安卓和ios自定义基座、云打包都试过了,还是不行

根本没有恢复呀,搜索地址后,依然不会自动弹出列表呀

升级后可以了, 之前是地图key的配额没了, 换了key 之后可以, 但是定位怎么到河北了, 我在湖北啊

回复 h***@163.com: 换个设备再试试

大哥!,现在又出现了

为什么我现在又出现了,Hbuildx版本是4.36

回复 shenxianyan: 你的好了没,兄弟

回复 1***@qq.com: 好了没兄弟

npx @dcloudio/uvm@latest 更新cli后,打包发布wgt可以了

同样的问题,蹲一个结果

getlocation:fail translatecoordinate system fail 报这个错怎么搞

用uni.getLocation获取也报错。 fail translate coordinate system fail

你好,你这个报错有解决方案了吗

回复 2***@qq.com: 换成微信自带的jssdk好了

我们也发现了有这个问题:[JS Framework] Failed to execute the callback function: TypeError: Cannot read property ‘points’ of undefined 15:41:44.034 reportJSException >>>> exception function:WEEX_CALL_JAVASCRIPT, exception:JavaScript execute error!Uncaught TypeError: Cannot read property ‘points’ of undefined at (/__uniappchooselocation.js.nvue:32:19489) 希望官方快点修复

蹲一个,都在天安门报错信息
[JS Framework] Failed to execute the callback function:
TypeError: undefined is not an object (evaluating ‘e.data.detail.points’) __ERROR

我们也遇到了这个问题[JS Framework] Failed to execute the callback function: TypeError: Cannot read property ‘points’ of undefined 15:43:39.777 reportJSException >>>> exception function:WEEX_CALL_JAVASCRIPT, exception:JavaScript execute error!Uncaught TypeError: Cannot read property ‘points’ of undefined at (/__uniappchooselocation.js.nvue:1:28376)

蹲守一个,我们用户也炸了,等结果!

同样的问题,蹲一个结果

同样的问题,蹲一个结果

同样的问题,蹲一个结果

同样的问题,蹲一个结果

同样的问题 急 基座版本3.6.3

后台配置好,然后再配置地图打包APP发行就没问题的。

你这是小程序吧?你看app了吗 出问题的基本都是app

回复 n***@163.com: 配置好后APP小程序都正常的。但是小程序和APP要经常换key,免费用量不足就自动关闭了

回复 STMCN: 我12个app,都不行了。难不成我之前都配错了????

回复 STMCN: 多少钱让你洗地?我们用的付费版,也没多少用户,哪里来的用量不足

回复 小王1126: 疯了吧你,这人只是一个普通开发者,DCloud并未找过他。发版后,我们遇到的开发者仍然在报的情况,全都是自己配置问题。仔细看最佳答案,缕每一条

回复 接app小程序单: 你那还能看见报错是啥吗?你按照配置要求好好看一下,如果不行联系我qq:3203723447

回复 DCloud_heavensoft: 合着别人正常使用了一年多的东西原来一直是错误配置是吗?

回复 DCloud_heavensoft: 强行说配置的问题

我们的正常配置就没有出息问题了,你看下地图的开发文档接入对不对呢

公众号也全挂!

地图选址是高德地图,我这边抓包为啥请求的是腾讯的接口,提示:此功能未授权

白名单填写域名,不要填写服务器IP.

回复 STMCN: 我是安卓端app呢

fail translate coordinate system fail我也报这个错了

reportJSException >>>> exception function:createInstanceContext, exception:white screen cause create instanceContext failed,check js stack ->Uncaught ReferenceError: chooselocationuniappchooselocation is not defined at eval (<anonymous>:27:1) at (app-service.js:3333:1) at webpack_require (app-service.js:80:30) at eval (<anonymous>:8:38) at eval (<anonymous>:62:30) at (app-service.js:259809:1) at webpack_require (app-service.js:80:30) at eval (<anonymous>:2:525) at (app-service.js:259798:1) at webpack_require__ (app-service.js:80:30)

我这边也是出问题,真机测试看到提示错误 [JS Framework] Failed to execute the callback function: TypeError: Cannot read property ‘points’ of undefined 16:51:16.591 reportJSException >>>> exception function:WEEX_CALL_JAVASCRIPT, exception:JavaScript execute error!Uncaught TypeError: Cannot read property ‘points’ of undefined at (/__uniappchooselocation.js.nvue:1:28376)

上午正常的,下午开始不行

调试了一下午 也是这个问题 领导就站我后面 汗流干了都 急!!!

我们这边也是这样的问题,无法定位

我们也是同样的问题 尽快解决一下哈

同样的问题,什么时候能解决!!! getLocation

同样的问题,蹲一个结果

同样遇到了,希望尽快解决,因为这个下午被骂了一顿

“errMsg”:“getLocation:fail translate coordinatesystem fail”
我的小程序和app都是这个报错,有没有办法解决啊,要上线了快,之前也是一直正常的来着

替换文件 重新打包,还是不行,不知道是不是我操作问题

uniapp跨端高手看过来,这有个远程机会: https://ask.dcloud.net.cn/question/194995

怪不得 我今天下午是换key又换账号的,就差没重写了

回复 2***@qq.com: 我这会儿已经在改代码了 先用jssdk顶两天,注定又得通宵了 ,哎

这类问题也不首页弄个弹窗或者公告啥的,哪怕站内信也行啊

洗洗睡吧,这个问题今天估计解决不了了!

vue2替换后白屏,
vue3暂未替换,选择位置也是有问题的

vue2尝试替换新上传的文件,见vue2评论区

替换后 还是报这个错误,我是用的最上面的压缩包,vu2方案评论的压缩包解压后是个1kb的替身文件,使用最上面的文件报错:reportJSException >>>> exception function:WEEX_CALL_JAVASCRIPT, exception:JavaScript execute error!Uncaught TypeError: Cannot read property ‘points’ of undefined
at (/__uniappchooselocation.js.nvue:1:28376)

已更新压缩包

H5的定位还无法解决吗?

vue2 cli创建的项目 1、替换项目中的node_modules下的对应文件运行白屏。 2、替换HBuilderX目录中的node_modules下的对应文件运行和打包都无法定位,还是原来的错误:TypeError: Cannot read property ‘points’ of undefined。

HBuilderX/plugins/uniapp-cli-vite/node_modules/@dcloudio/uni-app-vite/lib/template/ 路径uniapp-cli-vite 找不到呢?

你是vue3项目吗

回复 尘也: 有一个评论是vue2版本的

回复 DCloud_UNI_yuhe: vue2尝试替换新上传的文件,见vue2评论区

h5 的定位什么时候能解决?

vue2尝试替换新上传的文件,见vue2评论区

替换后,还是依旧用不了,报错信息一样,points属性undefind

回复 Lnews:是替换hbuild的js,然后重新打自定义包,是可以的,APP的可以

我把chooseLocation由腾讯换成高德之后,功能恢复正常,但是不能替换官方刚刚发的那个js,会导致选择后无法获得选中地址

你好,你说的这个腾讯换成高德,是怎么个做法能详细说一下吗?

回复 DCloud_UNI_yuhe: 他说的是H5,我们也是这种做法

回复 泰到位: 只是换key就能解决吗,是这个意思吗

回复 DCloud_UNI_yuhe: web配置中,选择高德地图,前提是要花钱,我们app正好用的高德,就可以

回复 DCloud_UNI_yuhe: 新bug来了,微信H5高德地图调用uni.chooseLocation,地图地位可以但是位置列表没了

回复 泰到位: 你好,你的H5怎么配的,为什么能高德地图用uni.chooseLocation,我从很久一直用不了,才换腾讯的

回复 Harleyx: 看看HBuilder是不是最新版,web配置中可以选择高德地图,配置好前两个参数就可以了

回复 泰到位: 方便加QQ请教下么;

回复 泰到位: 对,是H5的,我们暂时没有app,就是chooseLocation换成高德的,就不会有定位问题了

我替换的也没问题啊,怎么还是不能用呢?

重新下载替换一下

回复 DCloud_UNI_GSQ: 知道原因了,uni-cli-shared和uni-app-plus,这2个目录,我只替换了前一个目录!!!

我们小程序和app咋没这些问题,没勾选腾讯,只用高德!

定位出现getLocation:fail translate coordinate system fail的朋友可以用先用wgs84返回的GPS坐标,然后用插件coordtransform.wgs84togcj02方法转换为gcj02 坐标。此方法只是对H5获取不到经纬度哈!

也不知道啥原因 我这样弄了 就没问题了

有解决办法了嘛,我们的用户已经炸了,给我们发律师函了

他这至少下个版本更新吧

vue2我下载了三个版本都不行,替换后都打包不了,最新版本的编辑器,目前打包的是 app-vue2_uniappchooselocation.js 这个文件。麻烦帮忙看下,是我更换的地址有问题吗,急!


vue2要替换2个目录

回复 Lnews: 我这图片不就是两个目录吗

回复 BigHornet: 替换这个文件,别直接加进去

回复 DCloud_UNI_yuhe: 我是直接替换的,名字一样的

我复制进去的时候名字是改了的

vue2的注意了,替换的是2个目录,uni-cli-shared和uni-app-plus,我看上面vue3是一个目录,还以为下面是写重复了,没仔细看,新的包替换后正常了,感谢官方

回复 海贼王路飞: vue3目前还有什么问题

vue 按照官方临时处理方法,确实有效

回复 海贼王路飞: 什么问题,能说一下吗

回复 DCloud_UNI_yuhe: andriod 基座调试可以,云打包后就失效了

回复 尘也: 你好,解决了吗?兄弟

我们ios如果无法更新了,怎么处理呢。

啥时候能修复?

使用vue2,可以展示了,但是非常卡,无法选择,太卡了

回复 Mr丿Lee: 20号下午3点的版本可以,上午的不行,但是替换后 只有1个好的,另一个app卡

回复 尘也: 这俩app是用的一样的地图吗?

回复 DCloud_UNI_yuhe: 一个老版本 一个新的,新的去了很多缓存东西

回复 尘也: 非常卡,但是最后能够显示出来吗?

版本替换后,真机调试没问题,但是云打包后,可以打开地图后,老是加载状态,无法选择 chooseLocation 不能用呢?
另一个新的app就可以,纳闷中,是我打包出问题了吗?有啥办法!急

你这俩个app有啥区别吗,比如说用的地图一样吗?

回复 DCloud_UNI_yuhe: 在真机测试没问题,比较郁闷

替换vue2后,chooseLocation方法下面的地点列表老是在转圈(读取状态)? 是我号配置错误吗? 真机模式下没有问题,打包后就这样!!!

用系统基座可以,云打包后 不能使用,还有就是,坐标可以获取,但是位置不能获取,感觉还是接口问题

回复 尘也: 之前使用的是哪家地图,地图输入文字之后会显示地址吗?

回复 DCloud_UNI_yuhe: 高德地图,不行

不知道改的哪个文件,打包后,变成英文高德地图了 越改越乱

从新下的hbuilder 地图换好了,还是andriod基座可以,云打包接口都不能使用

替换之后有位置,但是没有附近信息也无法点击确定,请问什么时候有新版本

好了没,老板说好几天了都搞不定,不行就别来了,电话打爆了,有没有终结解决方案,你们可以先付费一笔吗

今天会发版解决,请留意社区

vue2版本,替换两个文件后通过hbuilderx 打包 wget,app端发布wgt升级无效! hbuilderx版本3.9.8

发之前都不先真机运行一下看看?vue2和vue3文件不同,目录也不同,别搞错了。

回复 1***@163.com: 就是真机运行也不行啊,App Vue2把

替换如下文件: HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/uni-cli-shared/template/common/__uniappchooselocation.js

HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/uni-app-plus/template/common/__uniappchooselocation.js

这个目录有错吗

操作系统mac 有影响吗

回复 BigHornet: 目录没问题,那个js文件他们上传了不止一次,前面的版本应该是有问题,最后的一次是7/20 15:09,检查一下,或者重新去下载个最新的。替换文件后最好重启一下HBuild再打包。如果这些都不行,尝试一下更新HBuild到最新版之后再替换文件吧,我在最新版上替换后一切正常4.23

回复 1***@163.com: 好的感谢我再试试

把hbuilderX升级到最新版本chooselocation就可以用了 不过我刚试了 定位能定位到当前位置但是下边的地址加载不出来 一直处于加载中状态

回复 3***@qq.com: 解决了吗,现在我也是一直加载状态

附件在哪里下载

回复 brisk21: 感谢

同样的问题,蹲一个结果

今天会发版解决,请留意社区

回复 DCloud_UNI_yuhe: 之前的项目的编译器也必须升级到最新版本吗

回复 DCloud_UNI_yuhe: 请问解决了嘛?今天发版是到晚上24:00??

我的电脑是mac环境,vue2,h5替换了那两个文件uni.getlocation还是获取不到地址,和uni.chooseLocation定位不到当前位置

临时解决方案后续还需要重新按解决方案修改吗

临时方案能用

回复 y***@163.com: 肯定是需要的,毕竟只是临时方案

回复 DCloud_UNI_yuhe: 感谢回复,我留意社区

哪里可以买便宜点的高德授权,我看官方商务都不回复

我把js给引进来,为什么全屏显示出来了,关都关不掉

使用后获取到了现在的位置不过下面列表一直加载中是为什么

解决了吗,我也是一直加载中

{errMsg: “getLocation:fail translate coordinate system fail”}H5,选地址一直显示北京

vue2还是3,哪个平台的

解决了吗?

附件在哪里下载

解决了吗?重大到影响到你们公司形象的问题需要搞这么久都没法解决

非常抱歉,我们的事故对你们造成影响,我们马上就会发布新版

有没有解决也没人回复,说等发版,等到现在了

着急的话,可以先用临时解决方案,楼层前面就有。

非常抱歉,我们的事故对你们造成影响,我们马上就会发布新版

回复 DCloud_UNI_yuhe: 马上是什么时候

回复 海贼王路飞: 现在正在上传,并经过自动化测试,待会你打开hbuilderx会弹出更新提示

回复 DCloud_UNI_yuhe: 好了吗?

21点23分 在线等

版本更新了4.24.2024072208 web H5 端没有修复uni.chooseLocation 列表不显示的问题

如果是cli,也得升级cli。

回复 DCloud_heavensoft: 云打包后可定位但是显示loading,无法选择及显示地址(hbuilder 4.24, vue2)

为啥更新之后地址列表一直都是处于加载中

解决了吗,我也是一直加载中

是不是要开通腾讯接口才行,最新升级的还是圈,我们有公用的接口吗?或收费的接口?

使用的哪家服务,配额中有周边位置吗?

回复 DCloud_UNI_yuhe: 使用uniapp打包内部集成接口,高德地图,点开选位置后没有周边位置信息 一直读取中

回复 尘也: “生成高德key的时候,发布版的SHA1的值和Dcloud项目云端证书的的SHA1的值相同,否则打包好的app,打开地图会一直处在加载中的状态”,是不是这个原因

vue2 app 端 云打包自定义基座 可以定位 但是底部的列表还是不出现,一直转圈 打包 wgt包 直接没有任何用 已经更新到最新版本

使用的哪家服务,配额中有周边位置吗?

回复 DCloud_UNI_yuhe: 本地调试的时候能定位,但是下面是空的,自定义打包后是好的 ios系统,请问是为什么

回复 DCloud_UNI_yuhe: 高德

回复 7***@qq.com: 肯定是需要打包的,因为没有打包没有ios或者android的环境,有了自定义基座就相当于有了环境

回复 DCloud_UNI_yuhe:安卓系统 云打包也是没有列表,一直转圈 跟图上发的一样

回复 DCloud_UNI_yuhe: 更新到HBX最新版本打ios自定义基座真机调试,自动定位还是会报错

回复 7***@qq.com: 你看一下你高德的android配额,有周边服务吗?

回复 DCloud_UNI_yuhe: 除了更新HBX还需要做其他什么更新吗 比如vite之类的?

回复 DCloud_UNI_yuhe: 那本地开发调试的时候怎么办,无法获取定位信息

回复 海贼王路飞: 不需要,更新hx就行,你打包之后是好的,但是自定义基座失效是吗??

回复 DCloud_UNI_yuhe: 我就试了自定义基座的,自定义基座打出来真机调试都有问题,云打包应该也有问题吧???

回复 DCloud_UNI_yuhe: 升级后还是不行,麻烦加快处理

回复 7***@qq.com: 兄弟,解决了吗,我也是刚更新hb新版,不行

vue3 安卓app 搜索可行,但是默认定位还是天安门,麻烦告知一下什么问题,谢谢

你是打包,还是运行自定义基座看的?

回复 DCloud_UNI_yuhe: 打包看的,正在试自定义基座

回复 w***@xuqidata.com: 那你不用试了 ,我是先自定义基座真机调试的,不行

回复 海贼王路飞: 好的吧,可能临时赶工出来的还没测试可行性

回复 w***@xuqidata.com: 上周五到现在几天了,足够时间给uniapp处理了吧,哎,真的服了,我还跟领导说打完包就可以了,真的服了

回复 海贼王路飞: 都是程序员多少理解点,早期遗留问题,有可能是屎山,有可能换人员了,毕竟怕牵一发动全身,但是还是希望越早解决越好。当然在老板那该甩锅给uni还是要甩锅。。。

回复 w***@xuqidata.com: 感谢理解,我们这测试的使用dcloud的标准基座测试正常,如果你们出现自定义基座出现问题,请跟我们反馈,毕竟很多人一下子升级了这么多版本,很容易出现各种各样的问题。

回复 DCloud_UNI_yuhe: 刚刚试过自定义和标准,都不可以。都是搜索正常,但是默认定位天安门。之前的高德key是使用正常的,有可能是key的问题么?

回复 w***@xuqidata.com: 可能是,之前有些接口甚至都是免key,现在都需要配key,得去检查一下

回复 DCloud_UNI_yuhe: key是一直再配的,按道理key不行的话搜索地址也不行

回复 w***@xuqidata.com: 大佬,你那边可以自动定位了吗

回复 海贼王路飞: 删干净HBuildX,重新下,然后重新生成的高德key,新起的demo,完全不行

回复 w***@xuqidata.com: 我也试过你这种方式想排除是否是高德地图key的问题,但是也是行不通,新的key还是存在一样的问题

回复 海贼王路飞: 等他们官方最新消息吧

回复 w***@xuqidata.com: 社区觉得他们已经修复了。。。

回复 DCloud_UNI_yuhe: 您好,问一下,现在已经是修复后的最终方案了么?

回复 w***@xuqidata.com: 是的,目前App平台有专人一对一跟进了几个用户,均为配置问题,由于跨度较大很多公司已经换人,新人不知道怎么配置以及打包。

回复 w***@xuqidata.com: 检查一下在高德后台配置的包名与签名是否与你打包使用的一致

回复 DCloud_UNI_GSQ: 首先确定一致,其次配置的高德key在之前是可正常使用的,不一致也不能使用。而且删干净HBuildX,重新下载安装,然后重新生成的高德key,新起的demo,还是完全不行

回复 DCloud_UNI_GSQ: 刚刚给高德地图提了个工单,帮忙确认key是否有问题是有周边服务,得到的回复是key没有问题,并且配套服务流量也是正常的

回复 海贼王路飞: 加QQ: 3212223575

回复 海贼王路飞: 看看手机是不是国产Android系统,我的是这个问题

回复 w***@xuqidata.com: 小米12和iPhone13

回复 海贼王路飞: 华为和原版小米可以,小米刷的欧版系统不可用,但是高德地图正常,应该是uni这块儿还有点小问题,但不影响使用了

回复 w***@xuqidata.com: 还是用之前的key吗

你们这个问题还能不能彻底解决了,都过去四五天时间了,蹲了几天最后整了个半成品的所谓解决办法出来,毛用没有,天天被客户骂,被老板屌

关于你说的“半成品”,具体描述一下

回复 DCloud_UNI_GSQ: 你们用Android studio打包试了没。几天了,你们人也无法解决呀。愁死人

回复 DCloud_UNI_GSQ: hbx 打包没问题。使用Android studio打包,就有问题,说我key有问题,我反复测几天了呀,

到底什么时候才恢复呀,都好几天了,搜索地址,不能弹出地址列表

你使用标准基座运行到手机试试,看看行不行?

回复 DCloud_UNI_yuhe: 老师,我是企业微信的应用

回复 5***@qq.com: 是编译到的Web平台后重新部署的吗?

想问一下vue2 app 端 云打包出来有正常可以使用地图的吗

真机调试就可以,打包出来列表就一直显示加载

回复 2***@qq.com: vue3项目吗 我是云打包和自定义基座真机调试都不行

回复 海贼王路飞: vue2项目

使用sha1与包名(不是appid)重新生成Android平台key能正常显示与选择地图

使用uni.getLocation 初次获取权限这个问题有人遇到吗 小米的手机 提示是模糊定位但实际上在精准定位上

这个是手机选的吧

回复 DCloud_UNI_yuhe: 不,刚弹出来就是这样的

回复 昵称08: 我知道,这与本次更新无关吧,uniapp不能控制这个吧

回复 DCloud_UNI_yuhe: uni.getLocation 里有isHighAccuracy参数 但是给了false并没有什么用, uni.getLocation怎么能获取模糊定位而不是精确定位呢?

回复 DCloud_UNI_yuhe: 我查了下文档有uni.getAppAuthorizeSetting()方法 但是里面的locationAccuracy返回值是有3种定位准确度。“reduced” 表示模糊定位;“full” 表示精准定位;“unsupported” 表示不支持 初次调用uni.getLocation获取的权限是精确位置,在使用uni.getLocation方法时有什么办法让他获取模糊定位

回复 昵称08: 这只是获取配置信息,不是修改配置吧

回复 DCloud_UNI_yuhe: 是的,但是能查到的资料就这么点了

hbx版本升级到4.24,再云打包,并没卵用啊!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!


看一下报什么错

回复 DCloud_UNI_yuhe: HbuilderX卸载了重新下载最新版本的,ios端自定义基座真机调试还是报TypeError: undefined is not an object (evaluating ‘a.data.detail.points’) __ERROR错误,点击定位到当前位置的那个按钮就会触发这个错误

回复 DCloud_UNI_yuhe: [JS Framework] Failed to execute the callback function: TypeError: Cannot read property ‘points’ of undefined 16:46:14.729 reportJSException >>>> exception function:WEEX_CALL_JAVASCRIPT, exception:JavaScript execute error!Uncaught TypeError: Cannot read property ‘points’ of undefined at (/__uniappchooselocation.js.nvue:1:28376)

回复 DCloud_UNI_yuhe: 我这个是vue2,你那个临时方案也不能解决,还有其他临时方案吗??着急

回复 i***@163.com: 不对啊,你这个错误,在刚出现就可以解决了。你本地运行可以吗?打自定义基座,之后运行到真机试试

回复 DCloud_UNI_yuhe: 我是升级到hbx(4.24),然后重新打的自定义基座,然后运行到真机,报的这个错,=======,另一个mac也不行

回复 i***@163.com: 我们这都是测过了,都可以。你试过用标准基座运行吗?

回复 DCloud_UNI_yuhe: 你们测的是正式包,还是自定义基座真机运行??

回复 i***@163.com: 你看下帮我们测试一下,是不是打包的问题,如果本地正常运行,打包有问题,那么我去看一下打包机

回复 DCloud_UNI_yuhe: 好的,稍等

回复 DCloud_UNI_yuhe: 我给你描述下哈:卸载hbx,重新安装到4.24,操作系统(win11):以下都是调的uni.chooseLocation的反馈:===========》 1,重新云打包,报错,定位到北京 2,打自定义基座,运行到真机,报错,定位到北京 3,用标准基座,运行到真机,报错,定位到北京 4,在4.24基础上修改上边vue2两个文件,报错,定位到北京 统一错误:[JS Framework] Failed to execute the callback function: TypeError: Cannot read property ‘points’ of undefined 18:41:22.105 reportJSException >>>> exception function:WEEX_CALL_JAVASCRIPT, exception:JavaScript execute error!Uncaught TypeError: Cannot read property ‘points’ of undefined at (/__uniappchooselocation.js.nvue:1:28376)

回复 i***@163.com: 你这让我怀疑你这压根没更新,因为这个问题是我们一开始发现的问题,如果说你出现列表刷新不出来,报内种key错误,应该是可能的。但是这个points这个问题是肯定可以解决的

回复 DCloud_UNI_yuhe: mac行,win11不行,同样的操作,但是mac更新到4.24后,必须再把那两个文件替换掉才没问题

回复 i***@163.com: 你是vue2项目吗

回复 海贼王路飞: 是的

回复 海贼王路飞: 多找几个同事,指不定哪个mac或win管用

回复 i***@163.com: 我的是vue3项目,高德地图自动定位一直不行,ios端一直报错[JS Framework] Failed to execute the callback function: TypeError: undefined is not an object (evaluating ‘e.data.detail.points’) __ERROR,但是点击更多又能搜索。真的服了

回复 DCloud_UNI_yuhe: 我反复卸载了重装以及重启电脑,还是报错TypeError: undefined is not an object (evaluating ‘e.data.detail.points’) __ERROR

回复 i***@163.com: 我刚才现找了个win本测试了一下,你看评论区新增的视频

回复 DCloud_UNI_yuhe: 这个源码能发我下吗,我在我本地试下你这个?

回复 i***@163.com: 就是新建的项目,调用一个uni.chooseLocation就可以,然后运行到手机,选择标准基座

回复 DCloud_UNI_yuhe: 解决了,更新了下cli,项目以前cli是3.99版的

回复 DCloud_UNI_yuhe: 我测试的都是基于androd: 真机运行-标准基座 没有问题 功能完好, 真机运行-自定义基座 下面的列表一直在转圈加载,搜索也搜索不出东西,完成无法点击 正式包也是下面的列表一直都在转圈加载,搜索不出东西 完成无法点击,

回复 1***@qq.com: 这样情况下是key配置不正确,你需要检查key是否正确

回复 DCloud_UNI_yuhe: key配置都是正确的,不要老是怀疑key配置错,出现你们这一单问题之前key都能正常使用,升级到4.24之后,key就错了,你认为科学吗?

回复 7***@qq.com: 这个在hello uni-app里都测过是正常的。你这个高概率是没有附近搜索权限,需要在地图厂商后台检查

回复 7***@qq.com: 看看手机是不是国产Android系统,我的是这个问题

回复 w***@xuqidata.com: 如果认为地图key配置正确,仍然无法解决加QQ:3212223575

回复 DCloud_UNI_yuhe: 应该就是key的问题, 因为地图出问题之后我用的签名一直都是公共测试证书,没用自己的证书,但是高德地图上绑定的是自己的证书,刚才我用自己的证书打包测试了一下,功能都正常,感谢提醒

win本测试效果

请问hbx升级到4.24后,uni.chooseLocation这个api不支持ios和安卓端了吗

你看错文档了,这是uni-app x的不是uni-app的

H5使用gcj02 还是不行,升级到4.24,测试环境http的有定位,但是不准,距离大概四公里 正式环境https 在微信浏览器进去无定位,且定位返回非常慢

web端,为什么在本地是好的能正常显示,但是发行打包发到线上后还是空白的呢,腾讯地图,已经更新了最新版本

刚才测试的是正常,你看一下你腾讯地图那里有配置域名吗?

h5 获取定位咋老是天安门

使用的是getLocation?你是哪个hb版本,vue2还是3?

回复 DCloud_UNI_yuhe: vue2 最新版本 使用的uni.getLocation

您好! 已经升级到4.2.4,vue2 使用高德地图,配置了web的key和Android的key,使用uni.chooseLocation的时候,地图显示在天安门,列表一片白,移动地图以后列表可以出现内容,点击定位按钮无反应,报错如下 Gelocation Error: code - 18; message - not support gcj02 at template/__uniappchooselocation.nvue:292
iOS无问题,只有Android有问题,请问如何解决?

加一下qq:3203723447,我详细排查一下问题

回复 DCloud_UNI_yuhe: 您好 这边找到问题了吗 我这里遇到同样的问题

回复 1***@qq.com: 我这边wifi已开 定位已开还是报错

@DCloud_UNI_yuhe 升级到4.24版,重新打包还是显示空白,配置的是高德的key,为啥抓包请求的是腾讯的接口?


抓包显示的详细地址是啥

回复 DCloud_UNI_yuhe: 我配置的是高德的key,请求https://apis.map.qq.com/jsapi?qt=translate&type=1&points=113.39631,23.125462&key=MAP_KEY&output=json&pf=jsapi&ref=jsapi

回复 m***@163.com: 你那是cli项目?cli项目需要更新依赖,你这个在4.24更新后不会发送这个请求

回复 DCloud_UNI_yuhe: 好的,我更新试试

解决了吗?我也是这个问题

在uni-app中,使用uni.chooseLocation接口选择地图位置时,如果遇到地址列表不显示,且地图默认显示在天安门,以及调用API报错的问题,通常可能是由于以下几个原因造成的:

  1. API权限配置:确保你的应用已经在相应平台(如微信小程序、App等)上配置了地图相关的权限。

  2. 调用方式:检查uni.chooseLocation的调用参数和方式是否正确。

  3. SDK版本:确保你使用的uni-app SDK版本支持该API,并且没有已知的bug。

  4. 网络问题:网络不稳定或配置不当可能导致API调用失败。

  5. 缓存问题:尝试清除应用缓存或重新安装应用。

下面是一个基本的uni.chooseLocation调用示例,你可以根据这个示例检查你的代码:

// 在uni-app的页面或组件中调用
export default {
  methods: {
    chooseLocation() {
      uni.chooseLocation({
        success: (res) => {
          console.log('选择位置成功:', res);
          // res.name:地点名称
          // res.address:详细地址
          // res.latitude:纬度
          // res.longitude:经度
        },
        fail: (err) => {
          console.error('选择位置失败:', err);
          // 处理调用失败的情况,例如网络问题、权限问题等
        }
      });
    }
  },
  onLoad() {
    // 页面加载时调用选择位置
    this.chooseLocation();
  }
}

检查和调试建议

  • 查看控制台日志:在开发工具中查看控制台输出,检查是否有报错信息。
  • 模拟器和真机测试:在模拟器中可能无法完全模拟真实设备的行为,建议在真机上测试。
  • 检查网络请求:使用网络抓包工具检查uni.chooseLocation的调用是否发出了正确的请求,以及服务器是否有返回正确的响应。
  • 查阅官方文档和社区:查看uni-app的官方文档,了解uni.chooseLocation的最新使用方法和注意事项。同时,搜索社区论坛和GitHub Issues,看看是否有其他开发者遇到并解决了类似的问题。

如果以上方法都不能解决问题,可能需要更详细的错误信息来进一步定位问题。你可以尝试在调用失败时打印出完整的错误对象,或者向uni-app的官方支持寻求帮助。

回到顶部