"status":110,"message":"请求来源未被授权,此次请求无来源信息"}

腾讯地图API授权问题解决
本文介绍了使用腾讯地图API时遇到的请求来源未被授权问题,并给出了通过配置IP地址来解决该问题的具体步骤。
/***
 * 腾讯地图地址解析
 * @param $address
 * @return mixed
 */
public function getAddress($address='四川省成都市新都区****')
{
    $ak='替换成你自己的KEY';
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, "https://apis.map.qq.com/ws/geocoder/v1/?address=$address&key=$ak");
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    $data = curl_exec($ch);
    $map = json_decode($data);
    $location = $map->result->location;
    return $location;
}

今天遇到个特别神经质的问题,我在这里配置了域名,请求后,一直显示

{"status":110,"message":"请求来源未被授权,此次请求无来源信息"}

域名和子域名都试了,还是一直报这个错!神经病,真的是神经病,没有哪一次用腾讯的东西让我感觉很清爽的。。。。。

 

废话不多说,直接说解决办法吧

答案就是配置ip

反正配成了主机ip之后,一下子就成功了

在 UniApp H5 端使用 `map` 组件调用 `getLocation` 接口失败,并提示来源域名授权”,该问题通常与地图服务提供商(如腾讯地图或高德地图)的域名白名单配置相关。以下是解决此类权限配置问题的具体方案: ### 1. 检查并配置地图服务商的域名白名单 对于腾讯地图 API,开发者需要在其控制台中配置合法的请求来源域名(Referer),否则将拒绝来自授权域名的请求。请前往 [腾讯地图开放平台](https://console.map.qq.com/) 登录账号后,在应用管理中找到对应 Key 的设置页面,添加当前部署 H5 页面的域名到“Referer 白名单”中。 ```text 注意:添加域名时应包含完整的协议头(如 https:// 或 http://),且确保域名与实际访问地址完全一致。 ``` ### 2. 在 UniApp 中正确配置地图模块权限 进入项目根目录下的 `manifest.json` 文件,切换至“源码视图”或“H5 配置”部分,找到“定位与地图”设置项,确认已勾选所使用的地图组件(如腾讯地图),并粘贴你申请的 Key 值[^3]。此外,还需在页面 JSON 配置文件中声明地图权限: ```json { "plus": { "distribute": { "android": { "permissions": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ] } } } } ``` ### 3. 使用 HTTPS 协议部署站点 浏览器出于安全限制,仅允许通过 HTTPS 协议发起地理位置请求。若你的 H5 页面部署在 HTTP 环境下,浏览器会阻止 `navigator.geolocation` 调用。因此,请务必使用 HTTPS 来部署网站以避免此限制。 ### 4. 处理跨域请求问题 如果使用 JSONP 或其他方式调用地图服务接口,请确保服务器端支持跨域资源共享(CORS)。在 UniApp 中使用 `$jsonp` 请求腾讯地图反地理编码接口时,需保证目标 URL 支持 JSONP 回调机制[^3]。 ### 5. 用户交互触发获取位置信息 浏览器出于隐私保护机制,要求地理位置请求必须由用户主动操作触发(如点击按钮),而非自动执行。可将 `uni.getLocation` 调用绑定至 `<button>` 元素的 `@click` 事件上: ```html <button @click="getLocation">获取当前位置</button> ``` 并在脚本中定义方法: ```javascript methods: { getLocation() { uni.getLocation({ type: 'wgs84', success: (res) => { this.longitude = res.longitude; this.latitude = res.latitude; // 后续处理逻辑 }, fail: () => { console.log("获取位置失败"); } }); } } ``` ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值