3***@qq.com
3***@qq.com
  • 发布:2024-08-27 09:49
  • 更新:2024-09-04 17:57
  • 阅读:358

uni.chooseLocation地图每次都是固定在天安门,HBuilderX升级到4.24,也不行

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Windows

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

HBuilderX类型: 正式

HBuilderX版本号: 4.24

手机系统: 全部

手机机型: huawei p30

页面类型: vue

vue版本: vue3

打包方式: 云端

项目创建方式: HBuilderX

测试过的手机:

HUAWEI P30

操作步骤:

更新HBuilderX版本

预期结果:

其自带的app运行基座、uni-app编译器、云打包配套引擎会同步升级

实际结果:

编译器没升级

bug描述:

问题:uni.chooseLocation地图每次都是固定在天安门
报错提示:
[JS Framework] Failed to execute the callback function:
TypeError: Cannot read property 'points' of undefined.....
方案:
升级HBuilderX版本,升级到4.24
结果:
显示编译器仍是4.15,所以uni.chooseLocation地图仍固定在天安门
疑问:
到底是哪里依赖没升级成功,这个4.15版本也不知道是哪里来的?项目是通过HBuilderX创建的。

2024-08-27 09:49 负责人:无 分享
已邀请:
z***@126.com

z***@126.com

uni.chooseLocation这个api定位功能好像出问题了你调用的时候把自己位置传进去

uni.chooseLocation({
latitude:"当前位置纬度",
longitude:"当前位置经度",
success: function (res) {
console.log('位置名称:' + res.name);
console.log('详细地址:' + res.address);
console.log('纬度:' + res.latitude);
console.log('经度:' + res.longitude);
}
});

3***@qq.com

3***@qq.com (作者)

谢谢亲们~传经纬度,试过了,不行。unpackage这个删除 我也试过了,也不行的。我甚至试过,重新用hbuilderx创建项目,然后把旧项目文件拷贝到新创建的项目,也是不行,仍然显示编译器版本是4.15,不知道哪里来的?所以还是没有更新成功版本导致的,但不知道是哪里没更新。

  • DCloud_HB_WDL

    HBuilderX菜单【工具】【插件安装】,看下真机运行插件、uniapp编译插件,是否跟HBuilderX主版本号一致?

    2024-08-27 14:47

  • 3***@qq.com (作者)

    回复 3***@qq.com: 回复 DCloud_HB_WDL: 核对过的,都是4.24以上的,我全部都重新安装过的。不过,vue2 vue3 uniapp编译器 我都下载了,应该没影响吧,因为项目中有vue2的语法,项目Vue版本却是3

    2024-08-27 15:18

z***@126.com

z***@126.com

项目根目录下找到 manifest.json 配置文件,选择源码视图增加配置
"app-plus" : {
"compatible" : {
"runtimeVersion" : "3.7.9", // 运行版本
"compilerVersion" : "3.7.11" // 编译版本
},
}

  • 3***@qq.com (作者)

    我昨天加过这个,我将运行与编译版本指定为4.24,貌似这个配置没有用,指定不了版本

    2024-08-27 14:50

z***@126.com

z***@126.com

https://uniapp.dcloud.net.cn/api/location/location.html#chooselocation

现在要配置地图的key才能使用

  • 3***@qq.com (作者)

    manifest.json配置sdkConfigs->geolocation->amap->appkey_android吗?配置了的

    2024-08-27 14:54

z***@126.com

z***@126.com

这个定位问题其实很简单你给他运行到浏览器打开开发者工具选择Network选择过滤点击js能看到调用https://apis.map.qq.com的请求

  • 3***@qq.com (作者)

    浏览器更夸张了,地图都看不到哦,我调用的是高德地图,没见这个请求https://apis.map.qq.com。我这个项目只做了APP端

    2024-08-27 15:03

  • z***@126.com

    回复 3***@qq.com: 高德肯定看不到腾讯的请求了,各大地图都是通过jsonp调用地图服务的,所以在js里面能找到请求你仔细看看。

    cli项目(不是通过hbuilderX创建的,即运行时需要通过命令运行的项目),不能直接拖入HbuilderX中进行打包重新运行,需要更新依赖,如果你的错误信息包含:TypeError: Cannot read property 'points' of undefined,则大概率是没有更新。

    2024-08-27 15:11

  • 3***@qq.com (作者)

    回复 z***@126.com:项目是通过hbuilderx 创建的,因为这个是前任前端开发的项目(我有贴项目结构图,看项目结构与依赖,应该是hbuilderx创建的),我也试过用hbuilderx创建了个裸项目,然后把旧项目拷贝到新创建的项目里,依然不行。确实是没升级成功,不然也不会显示4.15版本了,但现在就是不知道为啥编译器没升级成功,自带的app运行基座显示升级成功了

    2024-08-27 15:27

  • z***@126.com

    回复 3***@qq.com: npm update确保你的项目依赖项是最新的

    npx @dcloudio/uvm@latest 更新DCloud工具到最新正式版

    2024-08-27 15:45

  • 3***@qq.com (作者)

    回复 z***@126.com: 相信我,这个项目是用hbuilderx创建的,所以不需要用npm update吧。不过,我也试过这个update的,不是cli创建的项目,npx @dcloudio/uvm@latest执行不了,会报错。cli创建的项目,不会是这种结构的

    2024-08-27 16:02

  • z***@126.com

    回复 3***@qq.com那就不知道了,上个月我们的项目也是出现选择位置打开就是天安门而且无法搜索周边的问题把经纬度传进去就好了

    2024-08-27 16:35

  • 3***@qq.com (作者)

    回复 z***@126.com: 谢谢您的回复。我没看uniapp官网前也是想到传经纬度,固定位置,但试了 不行。

    2024-08-27 17:09

3***@qq.com

3***@qq.com (作者)

Dcloud的同事也不知道这个是哪块没升级到位吗?可不可以出来解决一下呢?这个问题的根本原因还是没升级编译器版本(4.15)导致的,所有的插件我都升级了,每次升级后 我都是重新打包的。

7***@qq.com

7***@qq.com

地图key过期或者绑定出问题的时候我遇到过这个情况。这个得去地图那边去看看

  • 3***@qq.com (作者)

    谢谢您的解答,这个问题,前阵子解决了,是其他功能代码干扰到了~

    2024-09-10 10:13

  • 2***@qq.com

    回复 3***@qq.com: 是什么问题导致的啊?我现在发现地图也加载不出来

    2024-12-13 10:02

要回复问题请先登录注册