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文档和相关示例。