S3MTilesLayer Cesium 根据图元ID,高亮显示模型,并定位到模型位置,弹出infowindow

1.根据图层name,查找已经加载的图层,然后是图层中的图元选中,并可以设置选中的颜色

var _layerName = "jc5";
                var _layer = _self.mapView.scene.layers.find(_layerName);
                if(!_layer){
                    return;
                }
                //需要调整为地图加载完成后再加载模型显示信息框                
                var _mid = "17";
                _layer.setSelection([_mid]);
                //指定选中颜色,不设置使用默认
//                _layer.setObjsColor([_mid],Cesium.Color.fromCssColorString("rgba(230,0,0,0.9)"));

2.根据模型的中心点坐标,定位显示infowindow

var _longitude=114.22048118, _latitude = 30.77169929, _height = 50;
                var _cartesian3 =Cesium.Cartesian3.fromDegrees(_longitude, _latitude, _height);
                var _position = Cesium.SceneTransforms.wgs84ToWindowCoordinates(_self.mapView.scene, _cartesian3);                            
                showInfoWindow(_mid,"测试",_position,_self); 

你可能感兴趣的:(WebGL,3D)