# 高德地图（JS API）配置说明

在项目根目录 `.env` 中配置（修改后需重启后端）：

| 变量 | 作用 |
|------|------|
| `AMAP_WEB_KEY` | **Web 端** Key，勿用仅「Web 服务」的 Key |
| `AMAP_SECURITY_JS_CODE` | 与该 Key 同页的安全密钥（本地常用明文） |
| `AMAP_SERVICE_HOST` | 可选；生产环境用 Nginx 等代理时填根地址，见下文 |

控制台：[应用管理 → 我的应用](https://console.amap.com/dev/key/app)

---

### USERKEY_PLAT_NOMATCH

表示 Key 不是「Web 端」类型（常见误用：用了仅「Web 服务」的 Key）。

**处理：** 选用绑定服务为 **Web 端** 的 Key 写入 `AMAP_WEB_KEY`，安全密钥写入 `AMAP_SECURITY_JS_CODE`，重启后端。生产环境可改用 `AMAP_SERVICE_HOST` 走代理，见官方「安全密钥」说明。

---

### INVALID_USER_DOMAIN / 底图缺失

地图呈灰格、只有标记与 logo、无街道底图，控制台可能出现 `FlyDataAuthTask … INVALID_USER_DOMAIN`。说明 Key 类型无误，但 **域名白名单** 未包含当前访问来源。

**处理：** 在该 **Web 端** Key 的「域名白名单 / 授权域名」中，添加浏览器 **地址栏的完整来源**（协议 + 域名 + 端口）。例如 `http://127.0.0.1:8000` 与 `http://localhost:8000` **不通用**，按实际访问填写。保存后等待约 1～5 分钟再硬刷新。

---

### 安全密钥（2021-12-02 后申请的 Web 端 Key）

须配合安全密钥使用。本项目默认在 `.env` 使用明文 `AMAP_SECURITY_JS_CODE`（便于本地开发）；生产建议在服务端做 `/_AMapService` 反向代理，并设置 `AMAP_SERVICE_HOST`（填 `http://你的域名` 等根地址，无需手写 `/_AMapService` 后缀）。

官方文档：[高德 JS API 2.0](https://developer.amap.com/api/jsapi-v2/summary)（内文「安全密钥」章节）。

---

### 页面行为

使用官方 Loader 加载 **JS API 2.0**。**景点标记**在点击「生成攻略」后，按左侧所选景点展示。
