地理位置字段详解
地理位置(Geolocation)字段用于结构化地记录地理信息:既可以是中国行政区划的省/市/区、国家和地区,也可以是一段详细地址或精确的经纬度坐标,并支持在地图上直接点选落点。该字段的值以结构化 JSON 对象(GeoValue)存储,而非普通文本,便于后续按层级筛选、统计与导出。
核心功能
- 七种地址格式:省、省+市、省/市/区、省/市/区+详情、国家和地区、经纬度、地图选点。
- 级联选择:中国行政区划(省/市/区)以多列级联面板选择,顶部支持关键字搜索。
- 地址智能识别:在「详细地址」框中粘贴完整地址文本,系统自动解析出省/市/区并回填。
- 地图选点:集成天地图(Tianditu),在弹窗地图中搜索并点选落点,自动获取经纬度;也支持手动直接录入经纬度。
- 多语言:地理数据的显示语言(中文/English)跟随系统界面语言实时切换,字段本身不再提供独立的语言配置项。
- 表格内联编辑:在表格视图中双击单元格即可就地编辑;省/市/区、国家和地区等格式选到最后一级自动提交,经纬度与地图选点提供「确定/取消」按钮。
配置地址格式
创建或编辑地理位置字段时,在字段设置中选择「地址格式」。各格式与存储字段的对应关系如下:
| 地址格式 | 说明 | 存储字段(GeoValue) |
|---|---|---|
| 省 | 仅选择省级行政区 | province |
| 省+市 | 选择省与城市两级 | province、city |
| 省/市/区 | 精确到区/县的省/市/区三级(默认格式) | province、city、district |
| 省/市/区+详情 | 在三级基础上补充详细街道门牌 | province、city、district、detail |
| 国家和地区 | 按大洲分组选择国家和地区 | region、country |
| 经纬度 | 直接录入经度/纬度坐标 | lng、lat |
| 地图选点 | 在地图上点选落点获取坐标 | lng、lat、address |
未显式配置时,默认使用「省/市/区」。
各格式使用方法
1. 省 / 省+市 / 省/市/区(级联选择)
点击字段弹出多列级联面板,依次选择省、市、区(「省/市/区」格式下)。面板顶部提供搜索框,可输入关键字快速定位。
- 在表格单元格内编辑时,选到最后一级即自动提交。
- 点击浮层外部即取消本次编辑。
2. 省/市/区+详情
在级联选择的基础上,下方增加一个「详细地址」输入框:
- 手动输入街道、门牌、楼宇等补充信息。
- 智能识别:直接粘贴一段完整地址(例如
广东省深圳市南山区科技园路 1 号),系统会解析出省/市/区并回填到级联框,剩余部分填入详情框,输入框后显示「已识别」提示。
3. 国家和地区
按「大洲」分组列出国家和地区,支持关键字搜索。选择后记录 region(大洲/地区)与 country(国家/地区)。
4. 经纬度
两个输入框分别录入经度(Lng)与纬度(Lat):
- 支持粘贴
经度, 纬度格式文本(例如113.53, 22.38),系统自动拆分填入。 - 也可点击「地图选点」按钮在地图上点选,自动回填坐标。
- 经度范围约
-180 ~ 180,纬度范围约-90 ~ 90。
5. 地图选点
点击字段打开地图弹窗(基于天地图):
- 在搜索框输入地点名称进行检索,从结果列表中选择,地图定位到对应位置。
- 直接在地图上点击落点,自动获取该点的经纬度并回写。
- 弹窗地图区域已放大、搜索结果列表宽度已收窄,便于同时查看地图与结果。
- 需要服务端配置天地图 Key(
TIANDITU_KEY);未配置时地图不可用,可退回「经纬度」格式手动录入。
多语言
地理数据(行政区划名称、国家和地区名称、地图 UI 文案)的语言由系统界面语言决定:
- 界面切换为「English」后,省/市/区与国家和地区列表以英文展示,地图界面也切换为英文,且随语言实时变化。
- 字段本身不再提供独立的语言配置项(已在早期版本中移除)。
- 后端按请求头
Accept-Language/ 参数lang返回对应语言数据:- 省/市/区英文数据由
en-location.json提供; - 国家和地区英文数据由
en-region-location.json提供。
- 省/市/区英文数据由
说明:省/市/区英文数据中,省级与市级为英文名(知名地区采用习惯译名,如
Tibet、Inner Mongolia,与Shanxi区分的Shaanxi等),区/县为拼音。如某地区希望使用特定官方译名,可由服务端数据调整。
在表格视图中编辑
- 双击地理位置单元格进入编辑浮层(浮层覆盖在单元格上方,点击地图弹窗不会穿透到表格)。
- 级联类(省/市/区、国家和地区)选到最后一级自动提交;点击浮层外部即取消。
- 经纬度、地图选点、省/市/区+详情 格式底部提供「取消 / 确定」按钮。
- 编辑结果以结构化对象写入数据源并持久化,刷新页面后保留最新值。
数据结构(GeoValue)
地理位置字段在存储中以 JSON 对象保存,关键字段如下:
| 字段 | 含义 | 适用格式 |
|---|---|---|
province | 省 | 省/市/区系列 |
city | 市 | 省+市 及以上 |
district | 区/县 | 省/市/区 及以上 |
detail | 详细地址 | 省/市/区+详情 |
region | 大洲/地区 | 国家和地区 |
country | 国家/地区 | 国家和地区 |
lng | 经度 | 经纬度、地图选点 |
lat | 纬度 | 经纬度、地图选点 |
address | 通用地址文本 | 地图选点 |
示例(省/市/区+详情):
json
{
"province": "广东省",
"city": "深圳市",
"district": "南山区",
"detail": "科技园路 1 号"
}示例(地图选点):
json
{
"lng": 113.53,
"lat": 22.38,
"address": "广东省深圳市南山区"
}导入与导出
- 导入:支持将「省 市 区」或完整地址文本解析为结构化的
GeoValue(按当前字段格式)。 - 导出:按所选格式输出为可读文本(如
广东省 / 深圳市 / 南山区),或保留原始 JSON 结构。
