Exception | Description |
---|---|
ArcGIS.Core.CalledOnWrongThreadException | This method or property must be called within the lambda passed to QueuedTask.Run. |
var layout = LayoutView.Active.Layout; var mf = layout.GetElementsAsFlattenedList().OfType<MapFrame>() .First(mf => mf.Name == mapFrame); var autoCamera = mf.GetAutoCamera(); autoCamera.Source = AutoCameraSource.Fixed; autoCamera.AutoCameraType = AutoCameraType.Center; var camera = mf.GetMapView(LayoutView.Active).Camera; var center = mf.GetViewCenter(); //var extent = EnvelopeBuilderEx.CreateEnvelope( // 400748.62, 800296.4, 1310669.05, 1424520.74, mf.Map.SpatialReference); //autoCamera.Extent = extent; var camera2 = new CIMViewCamera() { Heading = 0, Pitch = -90, Roll = 0, Scale = 21169571, X = 855708, Y = 1112409, Z = double.NaN }; autoCamera.Camera = camera2; var states = mf.Map.GetLayersAsFlattenedList().First(l => l.Name == "State_Polygons"); autoCamera.IntersectLayerPath = states.URI; if (mf.ValidateAutoCamera(autoCamera) && !mf.IsMapSeriesMapFrame()) mf.SetAutoCamera(autoCamera);
var layout = LayoutView.Active.Layout; var mf = layout.GetElementsAsFlattenedList().OfType<MapFrame>() .First(mf => mf.Name == mapFrame); var autoCamera = mf.GetAutoCamera(); autoCamera.Source = AutoCameraSource.Fixed; autoCamera.AutoCameraType = AutoCameraType.CenterAndScale; var camera = mf.GetMapView(LayoutView.Active).Camera; var center = mf.GetViewCenter(); //var extent = EnvelopeBuilderEx.CreateEnvelope( // 400748.62, 800296.4, 1310669.05, 1424520.74, mf.Map.SpatialReference); //autoCamera.Extent = extent; var camera2 = new CIMViewCamera() { Heading = 0, Pitch = -90, Roll = 0, Scale = 21169571, X = 1310669.0 + ((400748.5 - 1310669.0) / 2.0), Y = 800296.4 + ((1424520.74 - 800296.4) / 2.0), Z = double.NaN }; autoCamera.Camera = camera2; var states = mf.Map.GetLayersAsFlattenedList().First(l => l.Name == "State_Polygons"); //autoCamera.IntersectLayerPath = states.URI; if (mf.ValidateAutoCamera(autoCamera) && !mf.IsMapSeriesMapFrame()) mf.SetAutoCamera(autoCamera);
var layout = LayoutView.Active.Layout; var mf = layout.GetElementsAsFlattenedList().OfType<MapFrame>() .First(mf => mf.Name == mapFrame); var autoCamera = mf.GetAutoCamera(); autoCamera.Source = AutoCameraSource.Fixed; autoCamera.AutoCameraType = AutoCameraType.Scale; var camera = mf.GetMapView(LayoutView.Active).Camera; var center = mf.GetViewCenter(); //var extent = EnvelopeBuilderEx.CreateEnvelope( // 400748.62, 800296.4, 1310669.05, 1424520.74, mf.Map.SpatialReference); //autoCamera.Extent = extent; var camera2 = new CIMViewCamera() { Heading = 0, Pitch = -90, Roll = 0, Scale = 20000571, X = 1310669.0 + ((400748.5 - 1310669.0) / 2.0), Y = 800296.4 + ((1424520.74 - 800296.4) / 2.0), Z = double.NaN }; autoCamera.Camera = camera2; var states = mf.Map.GetLayersAsFlattenedList().First(l => l.Name == "State_Polygons"); //autoCamera.IntersectLayerPath = states.URI; if (mf.ValidateAutoCamera(autoCamera) && !mf.IsMapSeriesMapFrame()) mf.SetAutoCamera(autoCamera);
Target Platforms: Windows 11, Windows 10, Windows 8.1