ArcGIS Pro SDK 地图探索
地图探索
地图视图
测试视图是否为 3D 视图
1 | public bool IsView3D() |
设置查看模式
1 | public void SetViewingModeToSceneLocal() |
启用视图链接
1 | public void EnableViewLinking() |
更新地图视图范围(缩放、平移等)
转到上一个相机
1 | public Task<bool> ZoomToPreviousCameraAsync() |
转到下一个相机
1 | public Task<bool> ZoomToNextCameraAsync() |
缩放至全图范围
1 | public Task<bool> ZoomToFullExtent() |
固定放大
1 | public Task<bool> ZoomInFixed() |
固定缩小
1 | public Task<bool> ZoomOutFixed() |
缩放至某个范围
1 | public Task<bool> ZoomToExtent(double xMin, double yMin, double xMax, double yMax, ArcGIS.Core.Geometry.SpatialReference spatialReference) |
缩放至点
1 | public Task<bool> ZoomToPoint(double x, double y, ArcGIS.Core.Geometry.SpatialReference spatialReference) |
缩放至所选要素
1 | public Task<bool> ZoomToSelected() |
按名称缩放至书签
1 | public Task<bool> ZoomToBookmark(string bookmarkName) |
缩放至可见图层
1 | public Task<bool> ZoomToAllVisibleLayersAsync() |
缩放至所选图层
1 | public Task<bool> ZoomToTOCSelectedLayersAsync() |
在一定程度上平移
1 | public Task<bool> PanToExtent(double xMin, double yMin, double xMax, double yMax, ArcGIS.Core.Geometry.SpatialReference spatialReference) |
平移到所选要素
1 | public Task<bool> PanToSelected() |
平移到书签
1 | public Task<bool> PanToBookmark(string bookmarkName) |
平移到可见图层
1 | public Task<bool> PanToAllVisibleLayersAsync() |
异步平移到所选图层
1 | public Task<bool> PanToTOCSelectedLayersAsync() |
旋转地图视图
1 | public Task<bool> RotateView(double heading) |
展开范围
1 | public Task<bool> ExpandExtentAsync(double dx, double dy) |
地图
获取活动地图的名称
1 | public string GetActiveMapName() |
清除活动地图中的所有选择
1 | QueuedTask.Run(() => |
以地图单位计算选择容差
1 | //Selection tolerance for the map in pixels |
地图视图叠加控制
1 | //Creat a Progress Bar user control |
层
选择目录中的所有要素图层
1 | public void SelectAllFeatureLayersInTOC() |
闪烁所选功能
1 | public Task FlashSelectedFeaturesAsync() |
检查图层在给定的地图视图中是否可见
1 | var mapView = MapView.Active; |
选择一个图层并打开其图层属性页面
1 | // get the layer you want |
清除特定图层的选择
1 | var lyr = MapView.Active.Map.GetLayersAsFlattenedList().OfType<FeatureLayer>().FirstOrDefault(); |
地图成员的显示表窗格
1 | var mapMember = MapView.Active.Map.GetLayersAsFlattenedList().OfType<MapMember>().FirstOrDefault(); |
特征
遮罩功能
1 | //Get the layer to be masked |
弹出窗口
显示要素的弹出窗口
1 | public void ShowPopup(MapMember mapMember, long objectID) |
显示自定义弹出窗口
1 | public void ShowCustomPopup() |
使用弹出窗口属性显示要素的弹出窗口
1 | public void ShowPopupWithWindowDef(MapMember mapMember, long objectID) |
使用弹出窗口属性显示自定义弹出窗口
1 | public void ShowCustomPopupWithWindowDef() |
显示带有自定义命令的弹出窗口
1 | public void ShowCustomPopup(MapMember mapMember, long objectID) |
显示动态弹出窗口
1 | public void ShowDynamicPopup(MapMember mapMember, List<long> objectIDs) |
书签
使用活动地图视图创建新书签
1 | public Task<Bookmark> AddBookmarkAsync(string name) |
从联昌国际添加新书签
1 | public Task<Bookmark> AddBookmarkFromCameraAsync(Camera camera, string name) |
获取项目的书签集合
1 | public Task<ReadOnlyObservableCollection<Bookmark>> GetProjectBookmarksAsync() |
获取地图书签
1 | public Task<ReadOnlyObservableCollection<Bookmark>> GetActiveMapBookmarksAsync() |
将书签移到顶部
1 | public Task MoveBookmarkToTopAsync(Map map, string name) |
重命名书签
1 | public Task RenameBookmarkAsync(Bookmark bookmark, string newName) |
删除具有给定名称的书签
1 | public Task RemoveBookmarkAsync(Map map, string name) |
更改书签的缩略图
1 | public Task SetThumbnailAsync(Bookmark bookmark, string imagePath) |
更新书签
1 | public Task UpdateBookmarkAsync(Bookmark bookmark) |
更新书签的范围
1 | public Task UpdateBookmarkExtentAsync(Bookmark bookmark, ArcGIS.Core.Geometry.Envelope envelope) |
时间
时间提前 1 个月
1 | public void StepMapTime() |
禁用地图中的时间。
1 | MapView.Active.Time.Start = null; |
动画
设置动画长度
1 | public void SetAnimationLength(TimeSpan length) |
缩放动画
1 | public void ScaleAnimationAfterTime(TimeSpan afterTime, TimeSpan length) |
相机关键帧
1 | public List<CameraKeyframe> GetCameraKeyframes() |
插值相机
1 | public Task<List<Camera>> GetInterpolatedCameras() |
插值时间
1 | public Task<List<TimeRange>> GetInterpolatedMapTimes() |
插值范围
1 | public Task<List<ArcGIS.Desktop.Mapping.Range>> GetInterpolatedMapRanges() |
创建摄像机关键帧
1 | public void CreateCameraKeyframe(TimeSpan atTime) |
创建时间关键帧
1 | public void CreateTimeKeyframe(TimeSpan atTime) |
创建范围关键帧
1 | public void CreateRangeKeyframe(ArcGIS.Desktop.Mapping.Range range, TimeSpan atTime) |
创建图层关键帧
1 | public void CreateLayerKeyframe(Layer layer, double transparency, TimeSpan atTime) |
图形叠加
图形叠加
1 | //Defined elsewhere |
图形叠加与 CIMPicture图形
1 | // get the current mapview |
添加带有文本的叠加图形
1 | internal class AddOverlayWithText : MapTool |
工具
更改草图工具的符号
1 | internal class SketchTool_WithSymbol : MapTool |
创建用于地图中单击的点的返回坐标的工具
1 | internal class GetMapCoordinates : MapTool |
创建用于识别与草图几何相交的特征的工具
1 | internal class CustomIdentify : MapTool |
更改工具的光标
1 | internal class CustomMapTool : MapTool |
具有可嵌入控件的工具
1 | // Using the Visual Studio SDK templates, add a MapTool and an EmbeddableControl |
具有可嵌入叠加控件的工具
1 | // Using the Visual Studio SDK templates, add a MapTool and an EmbeddableControl |
}
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 WineMonk!
评论