在模型上添加一个标记点,移动和缩放模型时,标记点位置不正确,会上下左右偏移
const viewer = new Cesium.Viewer("cesiumContainer", {
shadows: true,
imageryProvider: new Cesium.SingleTileImageryProvider({
url: './Sandcastle/images/bg.jpg' //透明图片
}),
infoBox: false, //是否显示信息框--点击mark时,true有会
animation: false, //不创建动画控件,动画,控制试图动画的播放速度
timeline: false, //不创建时间线控件,指示当前时间,并允许用户跳到特定的时间。
//geocoder: false, // 查找位置,查到后会将镜头对准找到的地址
homeButton: false, // 视角返回初始位置
navigationHelpButton: false, // 导航帮助按钮,显示默认的地图控制帮助。
fullscreenButton: true, // 全屏按钮
scene3DOnly: false, // 每个几何实例将只能以3D渲染以节省GPU内存
selectionIndicator: false, // 取消点击有绿框
});
viewer.scene.globe.depthTestAgainstTerrain = true;
//b3dm加载
const tileset = new Cesium.Cesium3DTileset({
url: "./Sandcastle/stationTiles/terra_b3dms/tileset.json",
//url:"./SampleData/Cesium3DTiles/Tilesets/Tileset/tileset.json"
});
tileset.readyPromise
.then(function (tileset) {
viewer.scene.primitives.add(tileset);
viewer.zoomTo(
tileset,
new Cesium.HeadingPitchRange(
0.0,
-0.5,
tileset.boundingSphere.radius * 2.0
)
);
})
.otherwise(function (error) {
console.log(error);
});
let degrees = Cesium.Cartesian3.fromDegrees(100.56970,36.10075,3000);
viewer.entities.add({
id: item.id,
position: degrees,
properties: item,
billboard: {
//图标
image: './Sandcastle/stationTiles/point.png',
width: 40,
height: 40,
disableDepthTestDistance: Number.POSITIVE_INFINITY,
},
});
运行结果及报错内容
初始效果
左右移动之后显示效果
我的解答思路和尝试过的方法
我想要达到的结果
如何可以使标记点的位置无论怎么缩放或者移动的时候都保持不变