cesium 经纬度绘制点_cesium获取点取地理坐标

var point={"x":geoPt.longitude / Math.PI *

180,"y":geoPt.latitude / Math.PI * 180}; */

var

scene = viewer.scene;

//

得到当前三维场景

var

ellipsoid = scene.globe.ellipsoid;

//

得到当前三维场景的椭球

var

drawHandler =

new

Cesium.ScreenSpaceEventHandler(scene.canvas);

//

设置鼠标移动事件的处理函数,这里负责监听

x,y

坐标值变化【

LEFT_CLICK

movement

对象是

position

属性】

drawHandler.setInputAction(

function

(movement) {

//

通过指定的椭球或者地图对应的坐标系,

将鼠标的二维坐标转换为对应椭球体

三维坐标

var

cartesian = viewer.camera.pickEllipsoid(movement.position,

ellipsoid);

if

(cartesian) {

//

将笛卡尔坐标转换为地理坐标

var

cartographic

=

ellipsoid.cartesianToCartographic(cartesian);

//

将弧度转为度的十进制度表示

var

longitudeString =

Cesium.Math.toDegrees(cartographic.longitude);

var

latitudeString =

Cesium.Math.toDegrees(cartographic.latitude);

obj.find(

"input[name=x]"

).val(longitudeString);

obj.find(

"input[name=y]"

).val(latitudeString);

drawHandler.destroy();

}

}, Cesium.ScreenSpaceEventType.LEFT_CLICK);

var point={"x":geoPt.longitude / Math.PI * 180,"y":geoPt.latitude / Math.PI * 180}; */ var scene = viewer.scene; // 得到当前三维场景 var ellipsoid = scene.globe.ellipsoid; // 得到当前三维场景的椭球 体 var drawHandler = new Cesium.ScreenSpaceEventHandler(scene.canvas); // 设置鼠标移动事件的处理函数,这里负责监听 x,y 坐标值变化【 LEFT_CLICK 的 movement 对象是 position 属性】 drawHandler.setInputAction( function (movement) { // 通过指定的椭球或者地图对应的坐标系, 将鼠标的二维坐标转换为对应椭球体 三维坐标 var cartesian = viewer.camera.pickEllipsoid(movement.position, ellipsoid); if (cartesian) { // 将笛卡尔坐标转换为地理坐标 var cartographic = ellipsoid.cartesianToCartographic(cartesian); // 将弧度转为度的十进制度表示 var longitudeString = Cesium.Math.toDegrees(cartographic.longitude); var latitudeString = Cesium.Math.toDegrees(cartographic.latitude); obj.find( "input[name=x]" ).val(longitudeString); obj.find( "input[name=y]" ).val(latitudeString); drawHandler.destroy(); } }, Cesium.ScreenSpaceEventType.LEFT_CLICK);
经验分享 程序员 微信小程序 职场和发展