Cesium如何改变HomeButton(首页)的默认位置?

Cesium源码 · devhu · 于 6年前 发布 · 12116 次阅读

Cesium如何改变HomeButton(首页)的默认位置?

共收到 2 条回复 cesium
admin#16年前 2 个赞

网上一些博客提到的一些方法是修改源代码:

Camera.DEFAULT_VIEW_RECTANGLE = Rectangle.fromDegrees(89.5, 20.4, 110.4, 61.2);//homebutton默认跳转位置

https://www.cnblogs.com/mazhenyu/p/8315842.html

上述博客提到的位置我没有找到,我使用的Cesium版本是1.4.5,位置是在: \Cesium-1.45\Source\Scene\Camera.js 256行左右。

admin#26年前 2 个赞

实际上2楼的方法并不是一种好的方法,毕竟那是去修改源代码,目前我采用的方法是:

	tileset = new Cesium.Cesium3DTileset({ url: tileset_url});
	tileset.readyPromise.then(function(tileset) {
		viewer.scene.primitives.add(tileset);
		default_HeadingPitchRange = new Cesium.HeadingPitchRange(0.0, -0.5, tileset.boundingSphere.radius * 2.0);
		viewer.zoomTo(tileset, default_HeadingPitchRange);
		// overwrite homebutton
		viewer.homeButton.viewModel.command.beforeExecute.addEventListener(function (e) {
			e.cancel = true;
			viewer.zoomTo(tileset, default_HeadingPitchRange);
		});
	}).otherwise(function(error) {
		console.log(error);
	});

注意看// overwrite homebutton

相当于我重载了homebutton点击之后的响应函数,比如我的三维地球空间中,有一个3D Tiles的目标,我让我的点击事件每次都聚焦这个目标。

添加回复 (需要登录)
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册
Your Site Analytics