ConversionObj

new CooSDK.ConversionObj(props)

坐标转换对象,支持多种坐标之间的转换操作。包括屏幕坐标、三维场景的世界笛卡尔坐标、经纬高程坐标等。

Name Type Description
props Object optional

包含如下属性的Object:

Name Type Default Description
isRealtime Boolean false optional

实时经纬度转换屏幕坐标开关。

triggerType EnumTriggerType EnumTriggerType.CHANGE optional

回调事件触发条件类型。

callback Boolean "none" optional

实时经纬度转换屏幕坐标回调事件绑定的函数。

delay Number 100 optional

实时转换刷新延时,数值越小越快,最小为1。

idArray Array.<String> optional

经纬度对应标识数组。

posArray Array.<PositionObj> optional

经纬度数组。

range Number optional

参与经纬度转换屏幕坐标的生效距离,即与视点范围的距离,单位:米。不设置该参数则全部参与转换。

refreshType EnumRefreshType EnumRefreshType.MM optional

刷新方式,FRAME是按帧数刷新,MM是按毫秒刷新。

screen CooMap | ScreenObj null optional

所属窗口,默认为CooMap所拥有的主窗口。

Example:
var conversionObj =  new CooSDK.ConversionObj();
Demo:

Members

callback : NNCallback|String

获取或者设置实时经纬度转换屏幕坐标回调事件绑定的函数。

Default Value: "none"

callback : NNCallback|String

获取或者设置漫游回调回调回调事件绑定的函数。

Default Value: "none"

delay : Number

获取或者设置实时转换刷新延时,数值越小越快,最小为1。

Default Value: 20

delay : Number

漫游回调刷新延时,单位为毫秒。

Default Value: 50

idArray : Array.<String>

获取或者设置经纬度对应标识数组。

Default Value: null

isEnable : NNCallback|String

获取或者设置漫游回调刷新开关。

Default Value: "none"

isKeepTrigger : Boolean

获取或者设置是否每帧实时触发回调事件,默认设为false,在视点变化的时候触发;设为true则每帧触发。

Default Value: false

isRealtime : Boolean

获取或者设置实时经纬度转换屏幕坐标开关。

Default Value: false

posArray : Array.<PositionObj>

获取或者设置经纬度数组。

Default Value: null

range : Number

获取或者设置参与经纬度转换屏幕坐标的生效距离,即与视点范围的距离,单位:米。不设置该参数则全部参与转换。

Default Value: undefined

refreshType : EnumRefreshType

获取或者设置刷新方式,FRAME是按帧数刷新,MM是按毫秒刷新。

Default Value: EnumRefreshType.FRAME

screen : CooMap|ScreenObj

获取或者设置所属窗口,默认为CooMap所拥有的主窗口。

Default Value: null

screen : CooMap|ScreenObj

获取或者设置所属窗口,默认为CooMap所拥有的主窗口。

Default Value: null

triggerType : EnumTriggerType

获取或者设置回调事件触发时机类型。

Default Value: EnumTriggerType.CHANGE

Methods

cartesianToGeoPos(cartesianPos, result)PositionObj

笛卡尔坐标系坐标转换三维地理经纬度坐标。

Name Type Description
cartesianPos PositionObj

笛卡尔坐标系坐标对象。

result PositionObj optional

如果未定义,将创建一个PositionObj新实例。

Returns:

三维地理经纬度坐标。

convertPosBySrs(srcPosition, srcEpsg, destEpsg, result)PositionObj

将坐标根据从原始坐标参考系转换到目标参考系。

Name Type Description
srcPosition PositionObj

待转换的坐标对象。

srcEpsg String

原始坐标参考系EPSG对应代码,字符串格式:"epsg:4326"。

destEpsg String

目标坐标参考系EPSG对应代码,字符串格式:"epsg:4326"。

result PositionObj optional

如果未定义,将创建一个PositionObj新实例。

Returns:

转换后的坐标对象。

destroy()

从场景中销毁自身。

Returns:

null 空值。

Example:
// 销毁对象
conversionObj = conversionObj.destroy();

geoPosToCartesian(geoPos, result)PositionObj

三维地理经纬度坐标转换笛卡尔坐标系坐标。

Name Type Description
geoPos PositionObj

三维地理经纬度坐标。

result PositionObj optional

如果未定义,将创建一个PositionObj新实例。

Returns:

笛卡尔坐标系坐标对象。

geoPosToScreenPos(geoPos, result)Vector2Obj

经纬度坐标转换屏幕坐标。

Name Type Description
geoPos PositionObj

三维地理经纬度坐标。

result Vector2Obj optional

如果未定义,将创建一个Vector2Obj新实例。

Returns:

屏幕坐标。

getNewGeoPosByTranslate(geoPos, westToEast, southToNorth, downToUp, result)PositionObj

局地坐标系下根据偏移距离计算新的三维地理经纬度坐标。

Name Type Description
geoPos PositionObj

三维地理经纬度坐标。

westToEast Number

西往东方向为轴,偏移距离(m)。

southToNorth Number

南往北方向为轴,偏移距离(m)。

downToUp Number

下往上方向为轴,偏移距离(m)。

result PositionObj optional

如果未定义,将创建一个PositionObj新实例。

Returns:

三维地理经纬度坐标对象。

getResult(name)String

根据指定id获取对应屏幕坐标。

Name Type Description
name String

查询参数,该参数为设置的idArray内的单个元素。

Returns:

屏幕坐标字符串,格式:xxx,xxx。

Example:
var result = conversionObj.getResult("1");
console.log(result);

screenPosToGeoPos(screenPos, result)PositionObj

屏幕坐标转换经纬度坐标。

Name Type Description
screenPos Vector2Obj

屏幕二维坐标。

result PositionObj optional

如果未定义,将创建一个PositionObj新实例。

Returns:

三维地理经纬度坐标。

update(props)

更新单个或者多个对象属性,使之立即生效。

一般用于多个属性的同时更新,避免性能开销过大。

Name Type Description
props Object optional

包含如下属性的Object:

Name Type Description
isKeepTrigger Boolean optional

是否每帧实时触发回调事件,默认设为false,在视点变化的时候触发;设为true则每帧触发。

isRealtime Boolean optional

实时经纬度转换屏幕坐标开关。

callback Boolean optional

实时经纬度转换屏幕坐标回调事件绑定的函数。

delay Number optional

实时转换刷新延时,数值越小越快,最小为1。

idArray Array.<String>

经纬度对应标识数组。

posArray Array.<PositionObj>

经纬度数组。

screen CooMap | ScreenObj optional

所属窗口,默认为CooMap所拥有的主窗口。

Example:
function test(type, info) {
   // 参数info为传回的屏幕坐标信息,字符串格式为:"xxx:yy,yy;",如:"t:500,600;"
   // 当idArray和posArray设置多个时,会传回"xxx:yy,yy;zzz:aa,aa;......"
}
conversionObj.update({
   isRealtime:true,
   callback:test,
   idArray:["t"],
   posArray:[new CooSDK.PositionObj(120.217369601932, 30.211156925310, 14.669960489497)]
});