你的浏览器禁用了JavaScript, 请开启后刷新浏览器获得更好的体验!
输入关键字进行搜索
朱新颖
赞同来自:
IGeoFeatureLayer GeofeatureLayer = featureLayer as IGeoFeatureLayer; ISimpleRenderer simpleRenderer = GeofeatureLayer.Renderer as ISimpleRenderer; IRotationRenderer rotationRenderer = simpleRenderer as IRotationRenderer; rotationRenderer.RotationField = angle; rotationRenderer.RotationType = esriSymbolRotationType.esriRotateSymbolGeographic; GeofeatureLayer.Renderer = simpleRenderer as IFeatureRenderer; axMapControl1.Refresh();
IGeoFeatureLayer geoFeatureLayer = featureLayer as IGeoFeatureLayer; ISimpleRenderer simpleRenderer = geoFeatureLayer.Renderer as ISimpleRenderer; IRotationRenderer2 rotationRenderer = simpleRenderer as IRotationRenderer2; rotationRenderer.SetSymbolRotation3DFlags(esriSymbolRotation3DFlags.esriSymbolRotation3DUseExpressionX, esriSymbolRotation3DFlags.esriSymbolRotation3DNone, esriSymbolRotation3DFlags.esriSymbolRotation3DNone); //指定旋转轴 rotationRenderer.SetSymbolRotation3DExpressions([Angle],,); //Angle为旋转的角度字段 rotationRenderer.SymbolRotation3DRotationTypeZ = esriSymbolRotationType.esriRotateSymbolGeographic; geoFeatureLayer.Renderer = simpleRenderer as IFeatureRenderer; axSceneControl1.SceneGraph.Invalidate(featureLayer, true, false); axSceneControl1.SceneGraph.ActiveViewer.Redraw(true);
要回复问题请先登录或注册
1 个回复
朱新颖
赞同来自:
将二维符号进行旋转使用的接口为IRotationRenderer,将3D符号旋转使用IRotationRenderer2接口,下面分开使用。
1,MapControl中,使用IRotationRenderer接口,指定旋转角度和旋转类型即可。
可参考下面代码:
2,SceneControl中使用IRotationRenderer2 接口,使用SetSymbolRotation3DExpressions指定旋转字段(表达式),SetSymbolRotation3DFlags指定旋转轴。
可参考下面代码:
要回复问题请先登录或注册