2.5 数据飞行定位

数据加载进场景后,往往不会自行进行定位,需要我们通过数据自身提供的定位功能或者CameraObj来进行定位。

拿地形影像定位来举例。

地形影像具有 isLocate 属性,该属性为布尔值变量,设置为 true 时,可自动定位至地形影像中心点:

domData.isLocate = true;

或者:

domData.update({
    isLocate: true
});

默认飞行定位效果如图: 默认飞行效果

若想控制其飞行定位参数,如方向角,俯仰角,视点距离目标点距离,飞行时间等,也可这么写:

domData.update({
    isLocate: true,
    rotate: 0,         //水平方向角
    pitch: -45,         //垂直俯仰角
    distance: 500,      //视点距离目标点距离
    flyTime: 1.5        //飞行时间
});

自定义飞行定位效果如图: 自定义飞行效果

用户也可通过CameraObj对象,来获取视点或者设置视点,来进行飞行定位效果。

首先设置视点前,需要了解如何获取视点信息:

//首先创建CameraObj对象
var cameraObj = new CooSDK.CameraObj({
    isGet: true
});
var focalPos = cameraObj.focalPos;  //目标点
var eyePos = cameraObj.eyePos;      //视点(观察点)
var rotate = cameraObj.rotate;      //水平旋转角
var pitch = cameraObj.pitch;        //垂直俯仰角
var distance = cameraObj.distance;  //视点到目标点距离

当我们需要自定义设置视点时,就需要手动漫游至想要定位的地点,获取当前视点,这些参数可以作为飞行定位的参考参数。

接着设置视点:

//首先创建CameraObj对象
var cameraObj = new CooSDK.CameraObj({
    focalPos: new CooSDK.PositionObj(120.218725112673, 30.208011706012, 63.740742841735),
    rotate: 22.37,
    pitch: -9.52,
    distance: 76.38,
    flyTime: 5,
    isLocate: true
});

视点飞行定位效果如图: 视点飞行效果

现在你已经学会在三维地图中飞行定位,可以便捷的查找指定地点,其余功能请查看详细的API文档和相关示例。

results matching ""

    No results matching ""