# 坐标处理
# 坐标获取
fast3dbase.latlng,该类是静态类。坐标转换处理类
# 方法
方法名 | 返回值 | 说明 |
---|---|---|
getCurrentMousePosition(Scene scene, Cartesian2 position) | Cartesian3 | 获取鼠标当前位置,返回Cartesian3类型的笛卡尔坐标(可拾取模型,地形高度) |
getCenter(Viewer viewer, Boolean isToWgs?) | Object | 获取当前地球中心点坐标值,返回值示例:{ "y": 31.787488, "x": 117.222228, "z": 229 }。 当地球是高德等gcj坐标时,isToWgs设置是否转换为wgs84坐标 |
getExtent(Viewer viewer, Boolean isToWgs?) | Object | 获取地球当前视域边界{xmin: 113.23422, xmax: 125.23452, ymin: 30.23436, ymax: 33.234252}。 当地球是高德等gcj坐标时,isToWgs设置是否转换为wgs84坐标 |
getCameraView(Viewer viewer, Boolean isToWgs?) | Object | 获取当前相机视角范围参数坐标值,返回值示例:{ "y": 31.787488, "x": 117.222228, "z": 224, "heading": 56, "pitch": -29, "roll": 45 }。 当地球是高德等gcj坐标时,isToWgs设置是否转换为wgs84坐标 |
formatPositon( Cartesian3 position) | Object | 格式化坐标点为可显示的可理解格式,返回值示例:{ "x": 117.222228,"y": 31.787488, "z": 224 }。 |
# 示例
以getCurrentMousePosition为例
var handler = new Cesium.ScreenSpaceEventHandler(scene.canvas);
handler.setInputAction(function (movement) {
//通过鼠标当前的二维屏幕坐标获取椭球笛卡尔坐标
var cartesian = fast3dbase.latlng.getCurrentMousePosition(scene, movement.position);
if (cartesian) {
//将笛卡尔坐标转为地理坐标
var cartographic = scene.globe.ellipsoid.cartesianToCartographic(cartesian);
var longitudeString = Cesium.Math.toDegrees(cartographic.longitude);
var latitudeString = Cesium.Math.toDegrees(cartographic.latitude);
var height = Math.ceil(cartographic.height);
//输出地理坐标值
console.log("经度:" + longitudeString + "维度:" + latitudeString + "高度:" + height);
}
}, Cesium.ScreenSpaceEventType.LEFT_CLICK);
# 坐标转换
fast3dbase.pointconvert 该类是静态类,提供百度坐标(BD09)、国测局坐标(火星坐标,GCJ02)、WGS84坐标系、Web墨卡托 等坐标之间的转换算法
该类的所有方法的“传入参数”和“返回结果”均是数组:[经度,纬度]
# 方法
方法名 | 返回值 | 说明 |
---|---|---|
wgs2gcj([Number longitude,Number latitude]) | [longitude,latitude] | 加偏:标准WGS84坐标 转 国测局偏移坐标 |
gcj2wgs([Number longitude,Number latitude]) | [longitude,latitude] | 纠偏:国测局偏移坐标 转 标准WGS84坐标 |
gcj2bd([Number longitude,Number latitude]) | [longitude,latitude] | 国测局偏移坐标 转 百度经纬度坐标 |
bd2gcj([Number longitude,Number latitude]) | [longitude,latitude] | 百度经纬度坐标 转 国测局偏移坐标 |
wgs2bd([Number longitude,Number latitude]) | [longitude,latitude] | 标准WGS84坐标 转 百度经纬度坐标 |
bd2wgs([Number longitude,Number latitude]) | [longitude,latitude] | 百度经纬度坐标 转 标准WGS84坐标 |
jwd2mct([Number longitude,Number latitude]) | [longitude,latitude] | 经纬度坐标 转为 Web墨卡托坐标 |
mct2jwd([Number longitude,Number latitude]) | [longitude,latitude] | Web墨卡托坐标 转为 经纬度坐标 |