Files
nxxmdata/docs/project/baidu-map-license.md
2025-09-19 23:46:15 +08:00

4.9 KiB
Raw Blame History

百度地图商用授权解决方案

问题描述

当前项目使用百度地图API时出现"未获得百度地图商用授权"的提示这是因为使用了示例或无效的API密钥导致的。

解决方案

1. 获取百度地图API密钥

1.1 申请流程

  1. 访问百度地图开放平台:http://lbsyun.baidu.com/
  2. 注册并登录百度账号
  3. 进入控制台:http://lbsyun.baidu.com/apiconsole/key
  4. 点击「创建应用」按钮
  5. 填写应用信息并获取API Key (AK)

1.2 应用配置要求

  • 应用名称:填写您的应用名称(如:宁夏智慧养殖监管平台)
  • 应用类型:选择「浏览器端」
  • 启用服务:勾选「地图」、「定位」等需要的服务
  • Referer白名单
    • 开发环境:设置为 *(允许所有域名)
    • 生产环境:设置为您的具体域名(如:https://yourdomain.com/*

1.3 常见错误解决

如果遇到「APP不存在AK有误」错误

  1. 检查API密钥是否正确复制
  2. 确认应用类型选择为「浏览器端」
  3. 检查Referer白名单配置
  4. 确认API密钥状态为「启用」

2. 配置API密钥

方法一:直接修改配置文件(开发环境)

编辑 frontend/src/config/env.js 文件:

export const BAIDU_MAP_CONFIG = {
  // 替换为您申请的真实API密钥
  apiKey: 'YOUR_REAL_API_KEY_HERE',
  // ... 其他配置
};

方法二:使用环境变量(推荐)

  1. 在项目根目录创建 .env.local 文件:
VITE_BAIDU_MAP_API_KEY=YOUR_REAL_API_KEY_HERE
  1. 修改 frontend/src/config/env.js
export const BAIDU_MAP_CONFIG = {
  apiKey: import.meta.env.VITE_BAIDU_MAP_API_KEY || 'fallback_key',
  // ... 其他配置
};

3. 商用授权说明

免费配额

  • 每日调用量10万次
  • 并发请求:无限制
  • 适用于:个人开发、测试、小型项目

商用授权

如果项目需要商用或超出免费配额,需要:

  1. 联系百度销售

  2. 购买商用授权

    • 根据调用量选择合适的套餐
    • 签署商用授权协议
    • 获得商用版API密钥
  3. 配置商用密钥

    • 将商用API密钥替换到配置文件中
    • 更新Referer白名单为生产域名

4. 安全建议

  1. 密钥保护

    • 不要将API密钥提交到公开的代码仓库
    • 使用环境变量存储敏感信息
    • 定期更换API密钥
  2. 域名限制

    • 在百度控制台设置准确的Referer白名单
    • 避免使用通配符 *(仅开发环境使用)
  3. 使用监控

    • 定期检查API调用量
    • 设置调用量告警
    • 监控异常调用

5. 故障排除

常见错误及解决方法

  1. "Invalid API key"

    • 检查API密钥是否正确
    • 确认应用类型为"浏览器端"
    • 检查Referer白名单设置
  2. "Quota exceeded"

    • 检查当日调用量是否超限
    • 考虑升级到商用版本
    • 优化代码减少不必要的API调用
  3. "Service not enabled"

    • 在百度控制台启用"地图API"服务
    • 确认应用状态为"正常"

当前问题状态

API密钥已配置已成功配置有效的百度地图API密钥地图服务正常工作

7. 立即解决步骤

步骤1申请有效的API密钥

  1. 访问:http://lbsyun.baidu.com/apiconsole/key
  2. 登录百度账号
  3. 点击「创建应用」
  4. 配置应用信息:
    • 应用名称:宁夏智慧养殖监管平台
    • 应用类型:浏览器端(重要!)
    • 启用服务:勾选「地图」
    • Referer白名单设置为 *(开发环境)
  5. 创建成功后复制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. 重要提醒

  1. 必须申请真实API密钥:测试密钥无法正常使用
  2. 应用类型必须选择「浏览器端」:这是最常见的错误原因
  3. 保护API密钥安全:不要将真实密钥提交到代码仓库
  4. 商用需要授权:如用于商业用途,需要联系百度申请商用授权

注意当前使用的是临时测试密钥仅供开发调试使用请尽快申请正式的API密钥。