坐标转换对象,支持多种坐标之间的转换操作。包括屏幕坐标、三维场景的世界笛卡尔坐标、经纬高程坐标等。
Name | Type | Description | ||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
props |
Object |
optional
包含如下属性的Object:
|
Example:
var conversionObj = new CooSDK.ConversionObj();
Demo:
Members
callback : NNCallback|String
获取或者设置实时经纬度转换屏幕坐标回调事件绑定的函数。
-
Default Value:
"none"
callback : NNCallback|String
获取或者设置漫游回调回调回调事件绑定的函数。
-
Default Value:
"none"
获取或者设置实时转换刷新延时,数值越小越快,最小为1。
-
Default Value:
20
漫游回调刷新延时,单位为毫秒。
-
Default Value:
50
获取或者设置经纬度对应标识数组。
-
Default Value:
null
isEnable : NNCallback|String
获取或者设置漫游回调刷新开关。
-
Default Value:
"none"
获取或者设置是否每帧实时触发回调事件,默认设为false,在视点变化的时候触发;设为true则每帧触发。
-
Default Value:
false
获取或者设置实时经纬度转换屏幕坐标开关。
-
Default Value:
false
posArray : Array.<PositionObj>
获取或者设置经纬度数组。
-
Default Value:
null
获取或者设置参与经纬度转换屏幕坐标的生效距离,即与视点范围的距离,单位:米。不设置该参数则全部参与转换。
-
Default Value:
undefined
refreshType : EnumRefreshType
获取或者设置刷新方式,FRAME是按帧数刷新,MM是按毫秒刷新。
-
Default Value:
EnumRefreshType.FRAME
获取或者设置所属窗口,默认为CooMap所拥有的主窗口。
-
Default Value:
null
获取或者设置所属窗口,默认为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:
转换后的坐标对象。
从场景中销毁自身。
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:
三维地理经纬度坐标对象。
根据指定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:
三维地理经纬度坐标。
更新单个或者多个对象属性,使之立即生效。
一般用于多个属性的同时更新,避免性能开销过大。
Name | Type | Description | ||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
props |
Object |
optional
包含如下属性的Object:
|
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)]
});