varpoint={"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);