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