自个做了个搜索框可以获取entity位置并通过Flyto转到模型所在位置,但实际使用中总是不能正确的找到模型位置而是飞到了旁边,在做了一系列实验后发现模型所处的位置并不是我给它设置的位置,而是有一定偏差的。 另一方面我添加的点的entity却能出现在正确的位置
这个到底是啥原因一直搞不明白,希望有人帮忙解答一下
function createModel(id,name,url,height,lon,lat){
var position = Cesium.Cartesian3.fromDegrees(lon, lat, height);
var heading = Cesium.Math.toRadians(0);
var pitch = Cesium.Math.toRadians(0.0);
var roll = 0.0;
var entity = viewer.entities.add({
id:id,
//coordinates : rectangle,
fill : false,
outline : true,
outlineColor : Cesium.Color.WHITE,
name : name,
position : position,
model : {
uri : url,
//minimumPixelSize : 100,
maximumScale : 200
} ,
point : {
pixelSize : 20,
color : Cesium.Color.YELLOW,
}
});
//viewer.trackedEntity = entity;
return entity;
}
还有我的搜索框函数也贴一下
function msearch()
{
var source = document.getElementById("search").value;
position= viewer.entities.getById(source).position.getValue ();
console.log(position);
if(position)
{
viewer.camera.flyTo({//设置视角
destination : position,
});
}
}