cesium广告牌默认的点击效果修改

需求:广告牌默认的点击效果是点击之后直接缩放到对应位置,现在需要加入飞行效果,点击广告牌时飞入到对应位置,并且将地图缩放到一定高度时隐藏广告牌(用api实现的隐藏)
代码 :

//广告牌
var test = viewer.entities.add({
	 
	 name : '站点1',
	 code:'11111',
	 
	 description:'测试',//可写Html代码
	 position : Cesium.Cartesian3.fromDegrees(120.8759899, 29.979596, 45),//广告牌坐标
	 billboard: {
		id:"fan",
        image :'../img/fan.png',
        scale : 0.7,
       	rotation : 0,//设置以弧度为单位的旋转角度
		scale:1.0,//以像素为单位
		show:true,
		// width:64,
		// height:64,
		disableDepthTestDistance:Number.POSITIVE_INFINITY,//广告牌不进行深度检测
		heightReference:Cesium.HeightReference.RELATIVE_TO_GROUND

      },
	 label : {
	   text : '泵房1',
	   font : '20px monospace',
	   style: Cesium.LabelStyle.FILL_AND_OUTLINE,
	   outlineWidth : 2,
	   show:true,
	   //垂直位置
	   verticalOrigin : Cesium.VerticalOrigin.BUTTON,
	   horizontalOrigin :Cesium.HorizontalOrigin.LEFT,//水平位置
	   //中心位置
	   pixelOffset : new Cesium.Cartesian2(-20,40),
	   disableDepthTestDistance:Number.POSITIVE_INFINITY//广告牌的文字不进行深度检测
	 }
   });
   test.billboard.distanceDisplayCondition = new Cesium.DistanceDisplayCondition( 20000.0);//大于设定的米数时会隐藏
   test.label.distanceDisplayCondition = new Cesium.DistanceDisplayCondition( 20000.0);
   test.addProperty("imageClock");
   



		/*
		 * 鼠标点击事件
		 */
		 var handler = new Cesium.ScreenSpaceEventHandler(viewer.scene.canvas);
         handler.setInputAction(function(click) {
         var pick = viewer.scene.pick(click.position);
            //选中某模型   pick选中的对象
            if(pick && pick.id){
            	viewer.camera.flyTo({  
				          destination : Cesium.Cartesian3.fromDegrees(120.8759899, 29.979596, 6000.0)//相机飞入点
				 });
            }
         }, Cesium.ScreenSpaceEventType.LEFT_CLICK  );

效果图:
cesium广告牌默认的点击效果修改_第1张图片

你可能感兴趣的:(cesium)