peixue-dev/peidu/Archive/一次性文件/[一次性]签到签退地址显示配置说明-2026-01-26.md

104 lines
2.8 KiB
Markdown
Raw Normal View History

# 签到签退地址显示配置说明
## 问题描述
签到签退功能中位置信息显示为数字经纬度坐标需要转换为具体的地址信息安徽省合肥市蜀山区xxx
## 解决方案
使用腾讯地图逆地理编码API将经纬度坐标转换为详细地址。
## 配置步骤
### 1. 申请腾讯地图Key
1. 访问腾讯地图开放平台https://lbs.qq.com/
2. 注册/登录账号
3. 进入控制台https://lbs.qq.com/dev/console/application/mine
4. 创建应用
5. 添加Key选择"WebServiceAPI"类型)
6. 复制生成的Key
### 2. 配置Key
打开文件:`peidu/uniapp/src/config/map.js`
将第10行的 `YOUR_TENCENT_MAP_KEY` 替换为实际的Key
```javascript
export const TENCENT_MAP = {
key: 'YOUR_TENCENT_MAP_KEY', // 替换为实际的key
geocoderUrl: 'https://apis.map.qq.com/ws/geocoder/v1/',
}
```
### 3. 配置小程序域名白名单
在微信小程序管理后台配置服务器域名:
**request合法域名**
```
https://apis.map.qq.com
```
配置路径:
1. 登录微信小程序管理后台
2. 开发 -> 开发管理 -> 开发设置
3. 服务器域名 -> request合法域名
4. 添加 `https://apis.map.qq.com`
## 功能说明
### 地址显示格式
逆地理编码会返回以下信息:
- **province**: 省份(如:安徽省)
- **city**: 城市(如:合肥市)
- **district**: 区县(如:蜀山区)
- **street**: 街道(如:长江西路)
- **street_number**: 门牌号123号
最终显示格式:`安徽省合肥市蜀山区长江西路123号`
### 失败处理
如果逆地理编码失败网络问题、Key无效等会显示经纬度坐标
```
位置: 31.820586, 117.227239
```
## 文件修改清单
1. **新增文件**
- `peidu/uniapp/src/config/map.js` - 地图配置和工具函数
2. **修改文件**
- `peidu/uniapp/teacher-package/pages/teacher/watermark-checkin.vue` - 签到签退页面
## 测试步骤
1. 配置腾讯地图Key
2. 配置小程序域名白名单
3. 重新编译小程序
4. 进入签到签退页面
5. 点击"刷新"按钮获取位置
6. 查看地址是否正确显示
## 注意事项
1. **Key安全**不要将Key提交到公开的代码仓库
2. **配额限制**:腾讯地图免费版有调用次数限制,注意监控使用量
3. **定位权限**:确保小程序已获得用户的定位权限
4. **网络环境**:逆地理编码需要网络连接
## 备用方案
如果腾讯地图不可用,可以使用高德地图:
1. 申请高德地图Keyhttps://lbs.amap.com/
2. 修改 `map.js` 中的配置
3. 配置域名白名单:`https://restapi.amap.com`
## API文档
- 腾讯地图逆地理编码https://lbs.qq.com/service/webService/webServiceGuide/webServiceGcoder
- 高德地图逆地理编码https://lbs.amap.com/api/webservice/guide/api/georegeo