/** * 坐标转换工具类测试文件 * 用于验证坐标转换功能是否正常工作 */ 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=== 测试完成 ===')