微信小程序授权获取定位,选择位置

文章讲述了在Taro框架中如何获取用户位置权限,包括配置app.config、请求位置授权以及处理授权成功和失败的逻辑。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.开通授权 2.配置app.config

 关键句

 requiredPrivateInfos: ["getLocation", "chooseAddress","chooseLocation"],
     <View
                    className={styles.item_title_right}
                    onClick={getUserPosition}
                  >
                    获取当前位置
                  </View>
 /**
   * 获取用户当前信息
   */
  const getUserPosition = () => {
    Taro.chooseLocation({
      success: function (res) {
        console.log("res", res);

        setForm(pre => {
          return {
            ...pre,
            position: res.address
          };
        });
      },
      fail: function () {
        Taro.getSetting({
          success: function (res) {
            var statu = res.authSetting;
            if (!statu["scope.userLocation"]) {
              Taro.showModal({
                title: "是否授权当前位置",
                content:
                  "需要获取您的地理位置,请确认授权,否则地图功能将无法使用",
                success: function (tip) {
                  if (tip.confirm) {
                    Taro.openSetting({
                      success: function (data) {
                        if (data.authSetting["scope.userLocation"] === true) {
                          Taro.showToast({
                            title: "授权成功",
                            icon: "success",
                            duration: 1000
                          });
                          //授权成功之后,再调用chooseLocation选择地方
                          Taro.chooseLocation({
                            success: function (ress) {
                              setForm(pre => {
                                return {
                                  ...pre,
                                  position: ress.position
                                };
                              });
                            }
                          });
                        } else {
                          Taro.showToast({
                            title: "授权失败",
                            icon: "none",
                            duration: 1000
                          });
                        }
                      }
                    });
                  }
                }
              });
            }
          },
          fail: function (res) {
            Taro.showToast({
              title: "调用授权窗口失败",
              icon: "success",
              duration: 1000
            });
          }
        });
      }
    });
  };

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值