地图地址信息无法在测试环境修改

地图获取地址:测试端的地址无法修改

原因:腾讯提供的地图接口是跨域的,axios不能进行jsonp跨域

      // axios
      //   .get(`geocoder/?location=${loc.latlng.lat},${loc.latlng.lng}&key=密钥&get_poi=1`)
      //   .then((res) => {
      //     const { data } = res
      //     if (data.status === 0) {
      //       shopInfoForm.value.shopLocation = JSON.stringify({
      //         address: `${loc.poiaddress} ${loc.poiname}`,
      //         latitude: loc.latlng.lat,
      //         longitude: loc.latlng.lng,
      //         ad_info: data.result.ad_info,
      //         address_component: data.result.address_component
      //       })
      //     }
      //   })


        这种方法开发环境能正常使用,测试环境不行。
        测试环境请求的预览为空白
        

解决使用jsonp的方法解决跨域(vue-jsonp)

npm install jsonp --save

const url = "https://apis.map.qq.com/ws/geocoder/v1/"
      const data = {
        location: loc.latlng.lat + "," + loc.latlng.lng,
        key: "密钥",
        get_poi: 1,
        output: "jsonp"
      }
      //使用jsonp解决跨域问题
      jsonp(url, data)
        .then((data: any) => {
          console.log(data)

          if (data.status === 0) {
            shopInfoForm.value.shopLocation = JSON.stringify({
              address: `${loc.poiaddress} ${loc.poiname}`,
              latitude: loc.latlng.lat,
              longitude: loc.latlng.lng,
              ad_info: data.result.ad_info,
              address_component: data.result.address_component
            })
          }
        })
        .catch((err: any) => {
          console.log(err, "获取地理位置错误")
        })
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

灰鸦893

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值