uni-app uni.chooseLocation接口在电脑版微信小程序内无法使用

uni-app uni.chooseLocation接口在电脑版微信小程序内无法使用

开发环境 版本号 项目创建方式
Windows win10 ltsc 1809 HBuilderX

示例代码:

<view class="gui-form-item gui-border-b gui-bg-white">  
    <text class="gui-form-label">工作地点</text>  
    <view class="gui-form-body" style="position: relative;">  
        <input type="text" class="gui-form-input" v-model="formData.address" name="address"  
            disabled="disabled" placeholder="请选择工作地点" />  
        <view style="position: absolute;top: 0;left: 0;width: 480rpx;height: 80rpx;z-index: 99;"  
            @tap="chooseLocation"></view>  
    </view>  
    <text class="gui-form-icon gui-icons gui-text-center gui-color-gray"  
        @tap="chooseLocation">&#xe601;</text>  
</view>  

chooseLocation() { var that = this uni.chooseLocation({ success: (data) => { that.formData.address = data.address + “【” + data.name + “】” that.formData.longitude = data.longitude that.formData.latitude = data.latitude } }) }

操作步骤:

  • 从开发文档中复制示例代码,点击输入框和图标触发调用接口方法,回调方法内获取选取的结果

预期结果:

  • 用户进入地图选址,选择好位置后,奖金为度和地址名称返回

实际结果:

  • 电脑版用户无法进入地图选址

bug描述:

在手机设备和开发者工具内调用uni.chooseLocation方法都是可以正常打开地图选址页面,但是在微信电脑版打开小程序就无法使用uni.chooseLocation方法,无法打开地图选址页面


更多关于uni-app uni.chooseLocation接口在电脑版微信小程序内无法使用的实战教程也可以访问 https://www.itying.com/category-93-b0.html

4 回复

找到原因了吗 我也遇到了这个问题 电脑端打不开 点击没有反应 是有的能打开有的不能打开

更多关于uni-app uni.chooseLocation接口在电脑版微信小程序内无法使用的实战教程也可以访问 https://www.itying.com/category-93-b0.html


我也遇到了这个问题,求解

看控制台有没有报错信息

在微信电脑版小程序中,uni.chooseLocation 接口确实无法使用。这是因为微信官方对电脑版小程序的API支持存在限制,部分依赖移动设备硬件或系统功能的API(如地理位置选择、摄像头、扫码等)在电脑端不被支持。

原因分析:

  1. 平台差异:微信电脑版小程序环境基于桌面操作系统,缺乏移动端的原生地图组件支持。
  2. API兼容性uni.chooseLocation 底层调用的是微信小程序的 wx.chooseLocation 接口,而该接口在电脑版中被禁用(返回 fail 错误)。

解决方案:

  • 条件判断:在调用前检测运行环境,如果是电脑端则提示用户或切换为备用方案(如手动输入地址)。
    chooseLocation() {
      // 判断是否为电脑端
      const systemInfo = uni.getSystemInfoSync();
      const isPC = systemInfo.platform === 'windows' || systemInfo.platform === 'mac';
      
      if (isPC) {
        uni.showToast({
          title: '电脑端暂不支持地图选点',
          icon: 'none'
        });
        return;
      }
      
      uni.chooseLocation({
        success: (data) => {
          this.formData.address = data.address + "【" + data.name + "】";
          this.formData.longitude = data.longitude;
          this.formData.latitude = data.latitude;
        }
      });
    }
回到顶部