toCoordinatePairs.js 856 B

12345678910111213141516171819202122232425262728293031
  1. function parseMaybeJson(value) {
  2. if (value == null) return null
  3. if (Array.isArray(value)) return value
  4. if (typeof value === 'string') {
  5. try {
  6. return JSON.parse(value)
  7. } catch {
  8. return null
  9. }
  10. }
  11. return null
  12. }
  13. /**
  14. * 将 path_data.data 或 lepao_record.point_data 转为前端使用的 [经度, 纬度] 数组
  15. */
  16. function toCoordinatePairs(pathData, pointData) {
  17. const path = parseMaybeJson(pathData)
  18. if (Array.isArray(path) && path.length > 0 && path[0]?.o != null) {
  19. return path.map(point => [point.o, point.a])
  20. }
  21. const points = parseMaybeJson(pointData)
  22. if (Array.isArray(points) && points.length > 0) {
  23. return points.map(p => [p.longitude ?? p.longtitude, p.latitude])
  24. }
  25. return []
  26. }
  27. module.exports = { toCoordinatePairs, parseMaybeJson }