3.7.1 INavigate
INavigate是导航对象。该对象提供了飞行定位(目标点)、飞行定位(观察点)、定向观察、获取视点信息和获取观察点信息5种功能接口。具体的使用示例可参考视点获取及定位。
导航对象需要通过MapManagerCOM组件的CreateNavigation()接口创建。
1.FlyToDest
说明:
飞行定位(目标点)位置。这种飞行定位方式需要传入目标点位置、水平旋转角、垂直俯仰角、到目标点的距离、飞行时间等参数。
语法:
Javascript调用
FlyToDest(focalPosition, azimuth, zenith, distance, flyTime)
C++调用
HRESULT FlyToDest([in] IUnknown* focalPosition, [in] DOUBLE azimuth, [in] DOUBLE zenith, [in] DOUBLE distance, [in] DOUBLE flyTime)
C#调用
double FlyToDest(IPosition focalPosition, IPosition azimuth, IPosition zenith, IPosition distance, IPosition flyTime)
参数:
参数名 | 参数类型 | 说明 |
---|---|---|
focalPosition | IPosition | 坐标对象,作为飞行定位的目标点, 需传入经纬度高程坐标 |
azimuth | double | 水平方位角。弧度制 |
zenith | double | 垂直俯仰角。弧度制 |
distance | double | 观察相机到目标点的距离 |
flyTime | double | 飞行运行时间。单位为秒(s)。 |
2.FlyToCamera
说明:
飞行定位(观察点)。这种飞行定位方式需要传入相机位置坐标点、水平旋转角、垂直俯仰角、到目标点的距离、飞行时间等参数。
语法:
Javascript调用
FlyToCamera(focalPosition, azimuth, zenith, distance, flyTime)
C++调用
HRESULT FlyToCamera([in] IUnknown* focalPosition, [in] DOUBLE azimuth, [in] DOUBLE zenith, [in] DOUBLE distance, [in] DOUBLE flyTime)
C#调用
double FlyToCamera(IPosition focalPosition, IPosition azimuth, IPosition zenith, IPosition distance, IPosition flyTime)
参数:
参数名 | 参数类型 | 说明 |
---|---|---|
focalPosition | IPosition | 坐标对象,作为飞行定位的相机坐标点, 需传入经纬度高程坐标 |
azimuth | double | 水平方位角。弧度制 |
zenith | double | 垂直俯仰角。弧度制 |
distance | double | 观察相机到目标点的距离 |
flyTime | double | 飞行运行时间。单位为秒(s)。 |
3.LocateByEyeToCenter
说明:
定向观察。定向观察是指从一个坐标点去观察另外一个坐标点的飞行定位方式。在定向观察时,它会以第一个坐标点作为相机观察点、第二个坐标点作为相机目标点,并以上方向为正方向计算相机的水平旋转角度和垂直俯仰角度。
语法:
Javascript调用
LocateByEyeToCenter(eyePos, centerPos)
C++调用
HRESULT LocateByEyeToCenter([in] IUnknown* eyePos, [in] IUnknown* centerPos, [out,retval] VARIANT_BOOL* ret)
C#调用
bool LocateByEyeToCenter(IPosition eyePos, IPosition centerPos)
参数:
参数名 | 参数类型 | 说明 |
---|---|---|
eyePos | IPosition | 观察点坐标对象。经纬度高程坐标 |
centerPos | IPosition | 目标点坐标对象。经纬度高程坐标 |
返回值: ret
ret表示导航是否成功。true-成功;false-失败。
4.GetViewpoint
说明:
获取当前视点信息。该接口会返回当前场景相机的相关信息,并以字符串的形式传出。
语法:
Javascript调用
GetViewpoint()
C++调用
HRESULT GetViewpoint([out,retval] BSTR* vpInfo)
C#调用
string GetViewpoint()
返回值: vpInfo
vpInfo表示返回的场景相机信息字符串。字符串拼接格式为:"geoPos:经度,纬度,高程;eyePos:经度,纬度,高程;Azimuth:水平旋转角;Pitch:垂直俯仰角;Range:目标点与视点距离;"。
5.GetRoamViewPoint
说明:
获取漫游视点信息。该接口会返回当前场景相机位置的坐标信息。
语法:
Javascript调用
GetRoamViewPoint()
C++调用
HRESULT GetRoamViewPoint([out,retval] BSTR* vpInfo)
C#调用
string GetRoamViewPoint()
返回值: vpInfo
vpInfo表示返回的漫游视点信息字符串。字符串拼接格式为:"经度;纬度;高程"。