| 12345678910111213141516171819202122232425262728293031 |
- function parseMaybeJson(value) {
- if (value == null) return null
- if (Array.isArray(value)) return value
- if (typeof value === 'string') {
- try {
- return JSON.parse(value)
- } catch {
- return null
- }
- }
- return null
- }
- /**
- * 将 path_data.data 或 lepao_record.point_data 转为前端使用的 [经度, 纬度] 数组
- */
- function toCoordinatePairs(pathData, pointData) {
- const path = parseMaybeJson(pathData)
- if (Array.isArray(path) && path.length > 0 && path[0]?.o != null) {
- return path.map(point => [point.o, point.a])
- }
- const points = parseMaybeJson(pointData)
- if (Array.isArray(points) && points.length > 0) {
- return points.map(p => [p.longitude ?? p.longtitude, p.latitude])
- }
- return []
- }
- module.exports = { toCoordinatePairs, parseMaybeJson }
|