4.9 KiB
4.9 KiB
百度地图商用授权解决方案
问题描述
当前项目使用百度地图API时出现"未获得百度地图商用授权"的提示,这是因为使用了示例或无效的API密钥导致的。
解决方案
1. 获取百度地图API密钥
1.1 申请流程
- 访问百度地图开放平台:http://lbsyun.baidu.com/
- 注册并登录百度账号
- 进入控制台:http://lbsyun.baidu.com/apiconsole/key
- 点击「创建应用」按钮
- 填写应用信息并获取API Key (AK)
1.2 应用配置要求
- 应用名称:填写您的应用名称(如:宁夏智慧养殖监管平台)
- 应用类型:选择「浏览器端」
- 启用服务:勾选「地图」、「定位」等需要的服务
- Referer白名单:
- 开发环境:设置为
*(允许所有域名) - 生产环境:设置为您的具体域名(如:
https://yourdomain.com/*)
- 开发环境:设置为
1.3 常见错误解决
如果遇到「APP不存在,AK有误」错误:
- 检查API密钥是否正确复制
- 确认应用类型选择为「浏览器端」
- 检查Referer白名单配置
- 确认API密钥状态为「启用」
2. 配置API密钥
方法一:直接修改配置文件(开发环境)
编辑 frontend/src/config/env.js 文件:
export const BAIDU_MAP_CONFIG = {
// 替换为您申请的真实API密钥
apiKey: 'YOUR_REAL_API_KEY_HERE',
// ... 其他配置
};
方法二:使用环境变量(推荐)
- 在项目根目录创建
.env.local文件:
VITE_BAIDU_MAP_API_KEY=YOUR_REAL_API_KEY_HERE
- 修改
frontend/src/config/env.js:
export const BAIDU_MAP_CONFIG = {
apiKey: import.meta.env.VITE_BAIDU_MAP_API_KEY || 'fallback_key',
// ... 其他配置
};
3. 商用授权说明
免费配额
- 每日调用量:10万次
- 并发请求:无限制
- 适用于:个人开发、测试、小型项目
商用授权
如果项目需要商用或超出免费配额,需要:
-
联系百度销售:
- 电话:400-890-0065
- 邮箱:lbsyun@baidu.com
-
购买商用授权:
- 根据调用量选择合适的套餐
- 签署商用授权协议
- 获得商用版API密钥
-
配置商用密钥:
- 将商用API密钥替换到配置文件中
- 更新Referer白名单为生产域名
4. 安全建议
-
密钥保护:
- 不要将API密钥提交到公开的代码仓库
- 使用环境变量存储敏感信息
- 定期更换API密钥
-
域名限制:
- 在百度控制台设置准确的Referer白名单
- 避免使用通配符
*(仅开发环境使用)
-
使用监控:
- 定期检查API调用量
- 设置调用量告警
- 监控异常调用
5. 故障排除
常见错误及解决方法
-
"Invalid API key"
- 检查API密钥是否正确
- 确认应用类型为"浏览器端"
- 检查Referer白名单设置
-
"Quota exceeded"
- 检查当日调用量是否超限
- 考虑升级到商用版本
- 优化代码减少不必要的API调用
-
"Service not enabled"
- 在百度控制台启用"地图API"服务
- 确认应用状态为"正常"
当前问题状态
✅ API密钥已配置:已成功配置有效的百度地图API密钥,地图服务正常工作
7. 立即解决步骤
步骤1:申请有效的API密钥
- 访问:http://lbsyun.baidu.com/apiconsole/key
- 登录百度账号
- 点击「创建应用」
- 配置应用信息:
- 应用名称:宁夏智慧养殖监管平台
- 应用类型:浏览器端(重要!)
- 启用服务:勾选「地图」
- Referer白名单:设置为
*(开发环境)
- 创建成功后复制API密钥
步骤2:配置API密钥
有两种配置方式:
方式一:修改环境变量文件(推荐)
# 编辑 frontend/.env 文件
VITE_BAIDU_MAP_API_KEY=您申请的真实API密钥
方式二:直接修改配置文件
// 编辑 frontend/src/config/env.js
apiKey: '您申请的真实API密钥'
步骤3:重启开发服务器
cd frontend
npm run dev
8. 项目状态
- ✅ 已配置有效的API密钥:
3AN3VahoqaXUs32U8luXD2Dwn86KK5B7 - ✅ 前端服务器正常运行:http://localhost:5301/
- ✅ 后端API服务正常:http://localhost:5350/api/
- ✅ 百度地图服务可正常使用
- ✅ 已配置环境变量支持
- ✅ 已添加详细的申请指导
- ✅ 已配置安全的.gitignore规则
9. 重要提醒
- 必须申请真实API密钥:测试密钥无法正常使用
- 应用类型必须选择「浏览器端」:这是最常见的错误原因
- 保护API密钥安全:不要将真实密钥提交到代码仓库
- 商用需要授权:如用于商业用途,需要联系百度申请商用授权
注意:当前使用的是临时测试密钥,仅供开发调试使用,请尽快申请正式的API密钥。