WAP 手机端定位流程说明(简明版)
适用:手机浏览器访问 WAP 前台,顶栏自动显示当前城市
更新:2026-07-09(定位策略简化版)
关联文档:Web 端地图与定位服务配置说明
一、一句话说明
后台 选一种手机端定位策略,前台 只走这一种流程,不再 IP 与 GPS 并行混跑。
顶栏定位 与 商家 GPS 导航页 用的是 两套不同的 Key,请勿混填。
二、后台定位策略(三选一)
路径:设置 → 基本设置 → 城市分站设置 →「定位策略」
| 手机端策略 | 实际流程 | 何时选 |
|---|
| 仅 IP 定位 | IP → 默认城市 | 要快、稳定到市;不需县/区 |
| 仅 GPS 定位 | GPS(微信内优先 wx.getLocation)→ 默认城市 | 必须精确,可接受 GPS 失败时用默认城 |
| GPS 优先,失败再用 IP(推荐) | GPS → IP → 默认城市 | 兼顾精度与成功率 |
PC 端:固定 仅 IP 定位(PC 无 GPS)。
策略与下方配置的关系
| 后台字段 | 何时生效 |
|---|
| IP 定位库(ip2region 等) | 策略含 IP 时(仅 IP / GPS失败再用 IP / PC) |
| GPS 逆地理(高德/百度/腾讯) | 策略含 GPS 时(仅 GPS / GPS失败再用 IP) |
| 微信内 GPS | 策略含 GPS 且在微信内打开时 |
| Web 服务 Key | IP 选在线库 或 使用 GPS 逆地理 时需要 |
三、微信内用 wx 还是浏览器 GPS?
| 方式 | 建议 |
|---|
| 优先微信 wx.getLocation(推荐) | 微信内更稳定、权限好弹、坐标 GCJ-02 与高德/腾讯逆地理匹配 |
| 自动 | 微信内 wx,其他浏览器用 HTML5 GPS |
| 仅用浏览器 GPS | 特殊调试场景 |
四、流程图(推荐策略 gps_then_ip)
flowchart TD
A[手机打开 WAP] --> B{缓存/手动/分站跳转?}
B -->|是| Z[保持当前城市]
B -->|否| C{手机端策略}
C -->|仅IP| D[IP定位库]
C -->|仅GPS| E[微信wx或浏览器GPS]
C -->|GPS再IP| E
E -->|成功| F[GPS逆地理 → 城市]
E -->|失败| D
D --> G{成功?}
G -->|是| H[显示城市]
G -->|否| I[默认城市]
F --> H
五、后台如何设置(旧版字段说明保留)
定位相关配置分 两个后台页面,用途不同:
| 配置页面 | 路径 | 管什么 |
|---|
| 城市分站设置 | 设置 → 基本设置 → 城市分站设置 | 顶栏自动定位(IP、GPS 逆地理) |
| 功能设置 | 设置 → 常用功能 → 功能设置 | WAP 内嵌地图、GPS 导航 Tab、发布选点 |
4.1 城市分站设置(location 页)— 顶栏定位必配
| 设置项 | 建议 | 作用 |
|---|
| 默认城市 | 选本站主运营城市 | 全部失败时的兜底 |
| 浏览器定位 | 启用 | 关闭则手机不用 GPS,只用 IP |
| 定位缓存时间 | 30 分钟 | 减少重复定位 |
| IP 定位库 | ip2region(推荐)或 高德/百度/腾讯 | 决定 IP 定位用哪个库 |
| GPS 逆地理服务商 | 高德 / 百度 / 腾讯 | 手机 GPS 坐标转城市 |
| 高德 Web 服务 Key 等 | 服务端 Key + IP 白名单 | PHP 调用,非浏览器 Key |
选择建议:
- 只要快速、稳定到市级:IP 定位库选 ip2region,可不开 GPS(关闭浏览器定位)。
- 要精确到县/区:开启 浏览器定位 + 配好 GPS 逆地理服务商 及对应 Web 服务 Key;站点须 HTTPS,用户须允许定位权限。
- IP 用在线 API:IP 定位库选高德/百度/腾讯,并填对应 Web 服务 Key(服务器出口 IP 加白名单)。
- GPS 逆地理与 IP 库可不同:例如 IP 用 ip2region,GPS 逆地理用高德。
4.2 功能设置(config 页)— 与顶栏定位无关
| 设置项 | 作用 |
|---|
| 高德 / 百度 / 腾讯 JS API Key | WAP 商家 GPS 导航页内嵌地图、发布页选点 |
| 默认地图 | 仅影响选点/详情默认地图,不影响顶栏定位 |
详见:Web 端地图与定位服务配置说明
五、两套 Key 对照(易混)
| 用途 | 后台页面 | Key 类型 | 白名单 |
|---|
| 顶栏自动定位(IP + GPS 逆地理) | location 页 | Web 服务 | 服务器 IP |
| GPS 导航页 / 内嵌地图 | config 页 | 浏览器 JS API | 域名 |
填错常见现象:导航页地图空白、或定位报 USERKEY_PLAT_NOMATCH / INVALID_USER_IP。
六、精度说明
| 方式 | 顶栏显示 | 匹配 city_id |
|---|
| GPS + 逆地理 | 如「安徽省 滁州市 定远县」 | 优先 县/区级 |
| IP 定位 | 如「安徽省 滁州市」 | 一般 市级 |
| 默认城市 | 后台配置的城市名 | 后台 default_city_id |
| 手动选城 | 用户所选 | 精确,且不再被自动定位覆盖 |
七、与 GPS 导航页的区别
| 顶栏自动定位 | wap/shop/gps 导航页 |
|---|
| 目的 | 确定用户所在 分站 | 展示商家位置 + 外链导航 |
| 后台 Key | location 页 Web 服务 | config 页 JS API |
| 用户操作 | 可选允许定位 | 高德/百度/腾讯 Tab 切换地图 |
八、自检清单
- location 页:默认城市、浏览器定位、IP 定位库、GPS 逆地理、Web 服务 Key + IP 白名单
- config 页:仅在内嵌地图/导航需要时配置 JS API Key(与顶栏定位分开)
- 手机 HTTPS 下测试:允许定位后顶栏是否到县/区
- 关闭 GPS 测试:仅 IP 时是否稳定到市
- 调试:URL 加
?locdebug=1 打开城市弹层查看定位方式(GPS / IP / 默认 / 手动)
九、法律站 / 保安站
两端代码一致,各站后台 分别保存 各自 Key 与默认城市;文档与代码需 两端同步。