百度地图AK鉴权说明与白名单设置方法

本文详细介绍了百度地图开放平台的AK鉴权服务,包括浏览器端、微信小程序、服务端和iOS/Android应用的AK分类。针对未授权使用提示,提供了问题排查步骤,如检查AK设置、确认引入的AK类型正确以及调整白名单设置。同时,强调了白名单设置的安全性和如何进行鉴权测试以确保正常使用的指导。

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

问题

近期网站经常会提示未授权使用百度地图的提示:
百度未授权使用地图API

自己之前对百度地图开放平台的鉴权服务不是很清楚;所以做了一个详细的研究,接下来做个详细的描述希望能够帮助到大家

百度地图开放平台提供的ak分类说明

这个截图是百度底图开放平台官网的ak界面截图,百度地图应用管理台
从截图我们可以看到ak主要分为以下几类:
在这里插入图片描述

浏览器端
 应用功能:百度地图开放平台提供的所有javaScript API
 应用场景:H5网页,引入地图相关功能
微信小程序
 应用功能:百度地图开放平台提供的微信小程序API(https://lbsyun.baidu.com/index.php?title=wxjsapi)
 应用场景:主要在小程序中实现一些地址解析等功能
服务端
 应用功能:百度地图开放平
<think>好的,用户现在想要了解如何使用百度API获取街景的详细步骤。首先,我需要回忆一下之前用户的问题历史。之前用户问过全景和静态图像的区别,我详细对比了两者的定义、技术实现、应用场景等。现在用户的问题更具体,涉及百度API的实际操作步骤,这可能意味着用户有开发需求,或者想在实际项目中集成街景功能。 用户可能是开发者,或者至少对技术操作有一定了解,需要详细的步骤指导。接下来,我需要确认百度地图API的当前状态,特别是街景服务的可用性。根据我的知识库,百度地图确实提供了JavaScript API和移动端SDK,但街景服务(Baidu Street View)的具体接口可能需要限申,或者是否有公开的API文档。 我需要确保信息的准确性,所以应该分步骤说明:从注册账号、创建应用、获取密钥,到调用API的具体方法。同时,要提醒用户注意服务协议和调用限制,比如每天的求次数是否需要付费,或者是否需要企业认证。另外,可能还需要提到坐标系的转换,因为百度使用的是BD-09坐标系,其他坐标系(如WGS-84或GCJ-02)不同,用户可能需要转换坐标才能正确获取街景。 另外,用户可能需要示例代码来快速上手,所以提供一个简单的HTML和JavaScript示例会很有帮助。同时,指出常见问题,比如密钥错误、坐标不准确、网络问题等,以及解决方法,比如检查AK限、坐标转换、网络求调试等。 最后,总结使用场景,比如适合需要360度展示的网页或应用,同时提醒成本考量,比如是否需要高频率调用,或者是否需要商业授。确保用户能够全面了解整个流程,避免在实施过程中遇到障碍。</think>以下是使用百度地图API获取街景服务的详细技术步骤说明: --- ### 一、前期准备 1. **注册开发者账号** - 访问[百度地图开放平台](https://lbsyun.baidu.com/) - 完成实名认证(个人/企业) - 注意:企业账号需提交营业执照 2. **创建应用** - 进入控制台 → 应用管理 → 创建应用 - 选择服务类型:`Web端(JS API)` - 设置白名单:建议填写服务器IP或`*`(测试阶段) 3. **获取密钥(AK)** - 创建成功后自动生成访问密钥,格式如:`1A3zZ9qXy7BwvC5RtYuI` - 重要:每个AK日调用限额2万次(需企业认证扩容) --- ### 二、坐标获取 1. **地址转坐标** ```javascript var geoCoder = new BMapGL.Geocoder(); geoCoder.getPoint("北京市海淀区上地十街10号", function(point){ if(point) console.log(point.lng + "," + point.lat); // 输出:116.30965,40.05703 }); ``` > 注:百度使用BD09坐标系,WGS84需转换(偏移量公式:$\Delta = 0.0065\cos\phi - 0.0060$) 2. **坐标校验** - 通过[坐标拾取器](http://api.map.baidu.com/lbsapi/getpoint/index.html)手动验证 --- ### 三、街景服务调用 #### 网页端实现方案 ```html <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <script type="text/javascript" src="https://api.map.baidu.com/api?type=webgl&v=1.0&ak=您的AK"></script> </head> <body> <div id="panorama" style="width:800px;height:600px;"></div> <script> var panorama = new BMapGL.Panorama('panorama'); panorama.setPosition(new BMapGL.Point(116.30965, 40.05703)); // 设置坐标 panorama.setPov({pitch: -10, heading: 180}); // 视角参数(俯仰角/水平角) // 添加标注点 var label = new BMapGL.PanoramaLabel('百度大厦', { position: {lng:116.30965, lat:40.05703}, height: 50 }); panorama.addOverlay(label); </script> </body> </html> ``` #### 关键参数说明 | 参数 | 作用域 | 示例值 | 数学约束 | |---------------|-----------------|-----------------------|--------------------------| | `ak` | 必选 | 1A3zZ9qXy7BwvC5RtYuI | 32位字母数字组合 | | `position` | 必选 | (116.30965,40.05703) | 经度范围[-180,180],纬度[-85,85] | | `pitch` | 可选(默认0) | -10~+80 | 俯仰角约束:$θ_p ∈ [-90°,90°]$ | | `heading` | 可选(默认0) | 0~360 | 水平角约束:$θ_h ∈ [0°,360°)$ | --- ### 四、高级功能实现 1. **街景层级控制** ```javascript panorama.setZoom(3); // 缩放级别1-5(1为最近) ``` 2. **运动轨迹录制** ```javascript var path = []; panorama.addEventListener('position_changed', function(e){ path.push({lng:e.lnglat.lng, lat:e.lnglat.lat}); }); ``` 3. **POI数据获取** ```javascript panorama.addEventListener('poi_click', function(e){ console.log('POI信息:', e.content); }); ``` --- ### 五、常见问题处理 1. **密钥失败(错误码: 101/102)** - 检查AK是否启用`Web端(JS API)`服务 - 验证Referer白名单设置 2. **街景覆盖不全** - 通过接口`panorama.getLinks()`获取相邻节点 - 使用`panorama.loadPanoramaById(pid)`切换场景 3. **移动端适配** - 添加触摸事件监听: ```javascript panorama.enableTouchRotate(); // 启用旋转 panorama.enableTouchZoom(); // 启用缩放 ``` --- ### 六、成本控制建议 1. **求优化** - 使用`localStorge`缓存已加载的街景数据(TTL建议≤24h) - 合并坐标求(批量查询接口`/geocoding/v3/?batch=true`) 2. **计费策略** | 服务类型 | 单价(元/万次) | 免费额度 | |--------------|-----------------|--------------| | 街景基础调用 | 5.00 | 2万次/日 | | 坐标转换 | 2.50 | 无 | --- 通过上述步骤可实现从基础调用到高级定制的街景集成,建议在正式部署前使用[街景API调试工具](https://lbsyun.baidu.com/jsdemo.htm#c1_20)进行可视化测试。
评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值