testCoordinateUtils.js 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. /**
  2. * 坐标转换工具类测试文件
  3. * 用于验证坐标转换功能是否正常工作
  4. */
  5. import coordinateUtils from './coordinateUtils.js'
  6. // 测试坐标数据(北京市天安门广场的高德坐标)
  7. const testGcj02Lng = 116.3974
  8. const testGcj02Lat = 39.9093
  9. // 预期转换后的WGS84坐标(大致值,用于验证)
  10. const expectedWgs84Lng = 116.3912
  11. const expectedWgs84Lat = 39.9073
  12. console.log('=== 坐标转换工具类测试 ===')
  13. console.log('原始GCJ-02坐标:', { lng: testGcj02Lng, lat: testGcj02Lat })
  14. // 测试单个坐标转换
  15. const converted = coordinateUtils.gcj02ToWgs84(testGcj02Lng, testGcj02Lat)
  16. console.log('转换后的WGS84坐标:', converted)
  17. // 验证转换结果是否合理
  18. const lngDiff = Math.abs(converted.lng - expectedWgs84Lng)
  19. const latDiff = Math.abs(converted.lat - expectedWgs84Lat)
  20. console.log('经度差异:', lngDiff.toFixed(6), '纬度差异:', latDiff.toFixed(6))
  21. if (lngDiff < 0.01 && latDiff < 0.01) {
  22. console.log('✅ 坐标转换测试通过')
  23. } else {
  24. console.log('❌ 坐标转换测试失败,差异过大')
  25. }
  26. // 测试坐标点数组转换
  27. const testPoints = [
  28. { lng: testGcj02Lng, lat: testGcj02Lat, timestamp: Date.now() },
  29. { lng: testGcj02Lng + 0.001, lat: testGcj02Lat + 0.001, timestamp: Date.now() }
  30. ]
  31. console.log('\n=== 测试坐标点数组转换 ===')
  32. console.log('原始坐标点:', testPoints)
  33. const convertedPoints = coordinateUtils.convertPointsToWgs84(testPoints)
  34. console.log('转换后坐标点:', convertedPoints)
  35. // 测试单个坐标点转换
  36. const testPoint = { lng: testGcj02Lng, lat: testGcj02Lat, timestamp: Date.now() }
  37. console.log('\n=== 测试单个坐标点转换 ===')
  38. console.log('原始坐标点:', testPoint)
  39. const convertedPoint = coordinateUtils.convertPointToWgs84(testPoint)
  40. console.log('转换后坐标点:', convertedPoint)
  41. // 测试边界情况
  42. console.log('\n=== 测试边界情况 ===')
  43. console.log('无效坐标点:', coordinateUtils.convertPointToWgs84(null))
  44. console.log('不完整坐标点:', coordinateUtils.convertPointToWgs84({ lng: 116.0 }))
  45. console.log('空数组:', coordinateUtils.convertPointsToWgs84([]))
  46. console.log('无效数组:', coordinateUtils.convertPointsToWgs84(null))
  47. console.log('\n=== 测试完成 ===')