Skip to content

BizCoordinateInput 经纬度输入 ​

无地图依赖的坐标键入组件:经度 / 纬度双输入(十进制度编辑口径),范围校验(±180 / ±90)与 precision 小数位截断,失焦下方报错;DMS 度分秒只读换算(116°23′50.7″E 式展示切换);坐标系标注(WGS-84 / GCJ-02 / BD-09 提示性标签,不做偏移换算);完整坐标一键复制 lng,lat,粘贴坐标文本自动分发两框。适用于门店 / 物流网点坐标录入、设备点位、巡检点位、外勤签到中心点、地理围栏顶点——地图拾取之外「手工键入 / 粘贴补录」的动线。

与相关组件的边界:BizMapPicker 面向地图点选拾取(输出 lng/lat,需地图 key);BizCoordinateInput 面向键入 + 换算 + 校验(零依赖),二者常联动(选点回填、手工微调)。

基础录入 ​

经度
纬度

两项同时有值时 v-model 落 { lng, lat } 对象(东经 / 北纬为正); 当前值:116.397428, 39.90923

经纬双输入,两项同时有值时 v-model 落 { lng, lat } 对象(东经 / 北纬为正)。

DMS 度分秒互转 ​

经度
纬度
(悉尼坐标,南纬 S)

「度分秒」按钮切换 116°23′50.7″E 式只读展示(悬浮可见十进制原值);编辑口径始终为十进制。

「度分秒」按钮切换只读换算展示(悬浮可见十进制原值);getDms() 编程取值。

校验 ​

越界 / 缺项(试试经度填 200,或只填一边)
经度
纬度
精度限制(precision=4,粘贴 116.397428 自动截断)
经度
纬度

经度 ±180、纬度 ±90;两项需同时填写(单边缺填即报错);blur 事件同步外抛 valid 供表单联动。

越界(经度 > 180)、单边缺填、精度超限失焦即报错;precision 自动截断输入小数位。

受控回显与清空 ​

经度
纬度

change 事件:(尚未变更);完整坐标出现「复制 / 清空」操作,清空落 undefined。

外部异步赋值回显(接口晚到场景);完整坐标出现「复制 / 清空」,清空落 undefined。

坐标系标注 ​

经度
纬度
GCJ-02(国测局)

标签仅作口径提示:不同坐标系坐标不可直接混用(GCJ-02 相对 WGS-84 有非线性偏移), 组件不做偏移换算,换算请在业务层完成并按系存储。

coordinate-system 提示性标签:不同坐标系坐标不可直接混用,换算由业务层完成。

复制与粘贴分发 ​

经度
纬度

「复制」写入 lng,lat 文本;在任一输入框内粘贴 116.397428, 39.90923(逗号 / 空格 / 中文逗号分隔) 自动分发两框——从 Excel、微信、工单里拷坐标的常见动线。

一键复制 lng,lat;在输入框粘贴坐标文本(逗号 / 空格分隔)自动分发两框。

设备点位表单集成 ​

新增巡检点位
设备名称
点位坐标
经度
纬度
GCJ-02(国测局)
ElForm 规则 + expose validate() 联动:名称必填与坐标完整性一起校验后提交。

地理围栏顶点列表 ​

电子围栏顶点
2 / 3 已完整
1
经度
纬度
2
经度
纬度
3
经度
纬度
多坐标录入实战:顶点增删、完整计数、复制 GeoJSON 风格坐标串。

Props ​

属性名类型默认值说明
model-value / v-modelBizCoordinateValue | undefined—坐标值 { lng, lat }(两项同时有值才完整;清空为 undefined)
placeholderstring'如 116.397428'输入占位提示
disabledbooleanfalse禁用(含度分秒切换 / 复制 / 清空按钮)
precisionnumber6小数位数上限(0-8,输入自动截断 + 校验)
allow-dmsbooleantrue允许切换度分秒(DMS)只读展示
coordinate-system'wgs84' | 'gcj02' | 'bd09'—坐标系标注标签(提示性,不做偏移换算)
show-errorbooleantrue失焦校验失败时是否在下方展示原因
copyablebooleantrue完整坐标时显示一键复制 lng,lat
clearablebooleantrue完整坐标时显示清空按钮

BizCoordinateValue: { lng: number; lat: number }——十进制度,东经 / 北纬为正。

Events ​

事件名参数说明
update:model-value(value: BizCoordinateValue | undefined)坐标变更落值(两项同时有值为对象,否则 undefined)
change(value: BizCoordinateValue | undefined)同 update:model-value(输入 / 粘贴 / 清空均触发)
blur(valid: boolean)失焦校验结果外抛(表单联动用)

Expose ​

属性/方法类型说明
validate() => { valid: boolean; message: string }触发校验(空值视为通过;必填由表单规则控制)
getDms() => { lng: string; lat: string }度分秒换算结果(字段缺省为 '—')
focus() => void聚焦经度输入框