|
12345678910111213141516171819202122232425262728293031323334353637383940 |
- /**
- * @Author: Caven
- * @Date: 2021-01-31 22:07:05
- */
-
- import { Cesium } from '../../../namespace'
- import { CoordTransform } from '../../transform'
-
- class AmapMercatorTilingScheme extends Cesium.WebMercatorTilingScheme {
- constructor(options) {
- super(options)
- let projection = new Cesium.WebMercatorProjection()
- this._projection.project = function (cartographic, result) {
- result = CoordTransform.WGS84ToGCJ02(
- Cesium.Math.toDegrees(cartographic.longitude),
- Cesium.Math.toDegrees(cartographic.latitude)
- )
- result = projection.project(
- new Cesium.Cartographic(
- Cesium.Math.toRadians(result[0]),
- Cesium.Math.toRadians(result[1])
- )
- )
- return new Cesium.Cartesian2(result.x, result.y)
- }
- this._projection.unproject = function (cartesian, result) {
- let cartographic = projection.unproject(cartesian)
- result = CoordTransform.GCJ02ToWGS84(
- Cesium.Math.toDegrees(cartographic.longitude),
- Cesium.Math.toDegrees(cartographic.latitude)
- )
- return new Cesium.Cartographic(
- Cesium.Math.toRadians(result[0]),
- Cesium.Math.toRadians(result[1])
- )
- }
- }
- }
-
- export default AmapMercatorTilingScheme
|