| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 |
- /**
- * 坐标转换工具类测试文件
- * 用于验证坐标转换功能是否正常工作
- */
- import coordinateUtils from './coordinateUtils.js'
- // 测试坐标数据(北京市天安门广场的高德坐标)
- const testGcj02Lng = 116.3974
- const testGcj02Lat = 39.9093
- // 预期转换后的WGS84坐标(大致值,用于验证)
- const expectedWgs84Lng = 116.3912
- const expectedWgs84Lat = 39.9073
- console.log('=== 坐标转换工具类测试 ===')
- console.log('原始GCJ-02坐标:', { lng: testGcj02Lng, lat: testGcj02Lat })
- // 测试单个坐标转换
- const converted = coordinateUtils.gcj02ToWgs84(testGcj02Lng, testGcj02Lat)
- console.log('转换后的WGS84坐标:', converted)
- // 验证转换结果是否合理
- const lngDiff = Math.abs(converted.lng - expectedWgs84Lng)
- const latDiff = Math.abs(converted.lat - expectedWgs84Lat)
- console.log('经度差异:', lngDiff.toFixed(6), '纬度差异:', latDiff.toFixed(6))
- if (lngDiff < 0.01 && latDiff < 0.01) {
- console.log('✅ 坐标转换测试通过')
- } else {
- console.log('❌ 坐标转换测试失败,差异过大')
- }
- // 测试坐标点数组转换
- const testPoints = [
- { lng: testGcj02Lng, lat: testGcj02Lat, timestamp: Date.now() },
- { lng: testGcj02Lng + 0.001, lat: testGcj02Lat + 0.001, timestamp: Date.now() }
- ]
- console.log('\n=== 测试坐标点数组转换 ===')
- console.log('原始坐标点:', testPoints)
- const convertedPoints = coordinateUtils.convertPointsToWgs84(testPoints)
- console.log('转换后坐标点:', convertedPoints)
- // 测试单个坐标点转换
- const testPoint = { lng: testGcj02Lng, lat: testGcj02Lat, timestamp: Date.now() }
- console.log('\n=== 测试单个坐标点转换 ===')
- console.log('原始坐标点:', testPoint)
- const convertedPoint = coordinateUtils.convertPointToWgs84(testPoint)
- console.log('转换后坐标点:', convertedPoint)
- // 测试边界情况
- console.log('\n=== 测试边界情况 ===')
- console.log('无效坐标点:', coordinateUtils.convertPointToWgs84(null))
- console.log('不完整坐标点:', coordinateUtils.convertPointToWgs84({ lng: 116.0 }))
- console.log('空数组:', coordinateUtils.convertPointsToWgs84([]))
- console.log('无效数组:', coordinateUtils.convertPointsToWgs84(null))
- console.log('\n=== 测试完成 ===')
|