public ReadOnlyObservableCollection<Bookmark> GetBookmarks()
Public Function GetBookmarks() As ReadOnlyObservableCollection(Of Bookmark)
Return Value
The collection of bookmarks for the map.
public ReadOnlyObservableCollection<Bookmark> GetBookmarks()
Public Function GetBookmarks() As ReadOnlyObservableCollection(Of Bookmark)
Exception | Description |
---|---|
ArcGIS.Core.CalledOnWrongThreadException | This method or property must be called within the lambda passed to QueuedTask.Run. |
//Set the extent of a map frame to a bookmark. //Perform on the worker thread await QueuedTask.Run(() => { //Reference MapFrame MapFrame mf_bk = layout.FindElement("Map Frame") as MapFrame; //Reference a bookmark that belongs to a map associated with the map frame Map m = mf_bk.Map; Bookmark bk = m.GetBookmarks().FirstOrDefault(item => item.Name.Equals("Lakes")); //Set the map frame extent using the bookmark mf_bk.SetCamera(bk); });
//Create a map frame and set its camera by zooming to the extent of an existing bookmark. //Construct on the worker thread await QueuedTask.Run(() => { //Build 2D envelope geometry Coordinate2D mf_ll = new Coordinate2D(6.0, 8.5); Coordinate2D mf_ur = new Coordinate2D(8.0, 10.5); //At 2.x - Envelope mf_env = EnvelopeBuilder.CreateEnvelope(mf_ll, mf_ur); Envelope mf_env = EnvelopeBuilderEx.CreateEnvelope(mf_ll, mf_ur); //Reference map, create MF and add to layout MapProjectItem mapPrjItem = Project.Current.GetItems<MapProjectItem>() .FirstOrDefault(item => item.Name.Equals("Map")); Map mfMap = mapPrjItem.GetMap(); Bookmark bookmark = mfMap.GetBookmarks().FirstOrDefault( b => b.Name == "Great Lakes"); //At 2.x - MapFrame mfElm = // LayoutElementFactory.Instance.CreateMapFrame( // layout, mf_env, mfMap); // mfElm.SetName("New Map Frame"); // MapFrame mfElm = ElementFactory.Instance.CreateMapFrameElement( layout, mf_env, mfMap, "New Map Frame"); //Zoom to bookmark mfElm.SetCamera(bookmark); });
public Task<bool> ZoomToBookmark(string bookmarkName) { return QueuedTask.Run(() => { //Get the active map view. var mapView = MapView.Active; if (mapView == null) return false; //Get the first bookmark with the given name. var bookmark = mapView.Map.GetBookmarks().FirstOrDefault(b => b.Name == bookmarkName); if (bookmark == null) return false; //Zoom the view to the bookmark. return mapView.ZoomTo(bookmark); }); } public async Task<bool> ZoomToBookmarkAsync(string bookmarkName) { //Get the active map view. var mapView = MapView.Active; if (mapView == null) return false; //Get the first bookmark with the given name. var bookmark = await QueuedTask.Run(() => mapView.Map.GetBookmarks().FirstOrDefault(b => b.Name == bookmarkName)); if (bookmark == null) return false; //Zoom the view to the bookmark. return await mapView.ZoomToAsync(bookmark, TimeSpan.FromSeconds(2)); }
public Task<ReadOnlyObservableCollection<Bookmark>> GetProjectBookmarksAsync() { //Get the collection of bookmarks for the project. return QueuedTask.Run(() => Project.Current.GetBookmarks()); }
public Task<ReadOnlyObservableCollection<Bookmark>> GetActiveMapBookmarksAsync() { return QueuedTask.Run(() => { //Get the active map view. var mapView = MapView.Active; if (mapView == null) return null; //Return the collection of bookmarks for the map. return mapView.Map.GetBookmarks(); }); }
public Task RemoveBookmarkAsync(Map map, string name) { return QueuedTask.Run(() => { //Find the first bookmark with the name var bookmark = map.GetBookmarks().FirstOrDefault(b => b.Name == name); if (bookmark == null) return; //Remove the bookmark map.RemoveBookmark(bookmark); }); }
Target Platforms: Windows 11, Windows 10