/* * @Author: GuLiMmo 2820890765@qq.com * @Date: 2024-05-11 09:18:29 * @LastEditors: GuLiMmo 2820890765@qq.com * @LastEditTime: 2024-05-11 09:20:27 * @FilePath: /bigScreen/src/utils/cesium/webMercatorTilingScheme/index.js * @Description: 高德地图纠偏 * Copyright (c) 2024 by GuLiMmo, All Rights Reserved. */ import { WebMercatorProjection, WebMercatorTilingScheme, Math, Cartographic, Cartesian2, } from 'cesium' import CoordTransform from './CoordTransform' class AmapMercatorTilingScheme extends WebMercatorTilingScheme { constructor() { super() let projection = new WebMercatorProjection() this._projection.project = function (cartographic, result) { result = CoordTransform.WGS84ToGCJ02( Math.toDegrees(cartographic.longitude), Math.toDegrees(cartographic.latitude) ) result = projection.project( new Cartographic(Math.toRadians(result[0]), Math.toRadians(result[1])) ) return new Cartesian2(result.x, result.y) } this._projection.unproject = function (cartesian, result) { let cartographic = projection.unproject(cartesian) result = CoordTransform.GCJ02ToWGS84( Math.toDegrees(cartographic.longitude), Math.toDegrees(cartographic.latitude) ) return new Cartographic(Math.toRadians(result[0]), Math.toRadians(result[1])) } } } export default AmapMercatorTilingScheme