gisthreemap
Version:
基于webGL的三维api
29 lines (27 loc) • 1.19 kB
JavaScript
import gt from '../../utils/transform'
// import * as Cesium from 'cesium'
class CustomTilingScheme extends Cesium.WebMercatorTilingScheme {
constructor (options) {
super(options)
const projection = new Cesium.WebMercatorProjection()
this._projection.project = function (cartographic, result) {
result = gt.coordTransform(options.toSR, options.fromSR, [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) {
const cartographic = projection.unproject(cartesian)
result = gt.coordTransform(options.fromSR, options.toSR, [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 CustomTilingScheme