调用uni.chooseLocation在uni-app中输入关键字查询报错TypeError: Cannot read property 'pageIndex' of null

调用uni.chooseLocation在uni-app中输入关键字查询报错TypeError: Cannot read property ‘pageIndex’ of null

类别 信息
产品分类 uniapp/App
PC开发环境 Windows
PC版本号 window10
HBuilderX类型 正式
HBuilderX版本 4.57
手机系统 Android
手机版本号 Android 14
手机厂商 小米
手机机型 红米K50
页面类型 vue
vue版本 vue2
打包方式 云端
项目创建方式 HBuilderX

示例代码:

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

操作步骤:

点击按钮调用uni.chooseLocation
进入选址,然后输入地址就报错了,没有显示地址列表出来

预期结果:

按理应该会显示地址列表

实际结果:

报错,没有显示地址列表

bug描述:

调用uni.chooseLocation
进入选址页面,报下面这个(先声明已经添加模块了,还是报错)

Gelocation Error: code - 2; message - [geolocation:13]网络定位失败,请检查设备是否插入sim卡,是否开启移动网络或开启了wifi模块 请到http://lbs.amap.com/api/android-location-sdk/guide/utilities/errorcode/查看错误码说明,错误详细信息:no network provider#1402#pm111011 at template/__uniappchooselocation.nvue:292

然后输入关键字查询返回
[JS Framework] Failed to execute the callback function: TypeError: Cannot read property ‘pageIndex’ of null
reportJSException >>>>> exception function:WEEX_CALL_JAVASCRIPT, exception:JavaScript execute error!Uncaught TypeError: Cannot read property ‘pageIndex’ of null
at (/__uniappchooselocation.js.nvue:1:27281)


更多关于调用uni.chooseLocation在uni-app中输入关键字查询报错TypeError: Cannot read property 'pageIndex' of null的实战教程也可以访问 https://www.itying.com/category-93-b0.html

3 回复

就是HBuilderX版本的问题 从4.57回退到4.45重新打包就可以了

更多关于调用uni.chooseLocation在uni-app中输入关键字查询报错TypeError: Cannot read property 'pageIndex' of null的实战教程也可以访问 https://www.itying.com/category-93-b0.html


试了没用

这个错误通常是由于定位权限或网络问题导致的。以下是关键点分析:

  1. 定位错误部分:
  • 错误码-2表明网络定位失败
  • 需要检查设备是否开启定位权限和网络连接
  • 高德地图SDK要求设备必须开启网络定位
  1. pageIndex报错部分:
  • 这是高德地图SDK内部错误
  • 通常发生在网络请求失败后继续尝试分页查询时

解决方案:

  1. 基础检查:
  • 确保manifest.json已配置高德地图key
  • 确认已添加定位和地图模块
  1. 权限处理:
// 先检查定位权限
uni.authorize({
  scope: 'scope.userLocation',
  success() {
    uni.chooseLocation({...});
  },
  fail() {
    // 引导用户开启权限
  }
});
  1. 错误处理:
uni.chooseLocation({
  fail(err) {
    console.log('定位失败:', err);
  }
});
回到顶部