BookmarksViewModel

AMD: require(["esri/widgets/Bookmarks/BookmarksViewModel"], (BookmarksViewModel) => { /* code goes here */ });
ESM: import BookmarksViewModel from "@arcgis/core/widgets/Bookmarks/BookmarksViewModel";
Class: esri/widgets/Bookmarks/BookmarksViewModel
Inheritance: BookmarksViewModel Accessor
Since: ArcGIS API for JavaScript 4.8

Provides the logic for the Bookmarks widget.

See also:

Constructors

new BookmarksViewModel(properties)
Parameter:
properties Object
optional

See the properties for a list of all the properties that may be passed into the constructor.

Property Overview

Any properties can be set, retrieved or listened to. See the Working with Properties topic.
Show inherited properties Hide inherited properties
Name Type Summary Class
Bookmarkmore details

The Bookmark that is being navigated to.

more detailsBookmarksViewModel
Collection<Bookmark>more details

A collection of Bookmarks.

more detailsBookmarksViewModel
Stringmore details

The name of the class.

more detailsAccessor
BookmarkOptionsmore details

Specifies how new bookmarks will be created.

more detailsBookmarksViewModel
BookmarkOptionsmore details

Specifies how bookmarks will be edited.

more detailsBookmarksViewModel
GoToOverridemore details

This function provides the ability to override either the IMapView goTo() or SceneView goTo() methods.

more detailsBookmarksViewModel
Stringmore details

The view model's state.

more detailsBookmarksViewModel
MapViewmore details

The view from which the widget will operate.

more detailsBookmarksViewModel

Property Details

activeBookmark Bookmarkreadonly
Since: ArcGIS API for JavaScript 4.9

The Bookmark that is being navigated to.

bookmarks Collection<Bookmark>

A collection of Bookmarks.

declaredClass Stringreadonly inherited

The name of the class. The declared class name is formatted as esri.folder.className.

defaultCreateOptions BookmarkOptions
Since: ArcGIS API for JavaScript 4.18

Specifies how new bookmarks will be created. Can be used to enable or disable taking screenshots or capturing the bookmark's viewpoint based on the current view when a bookmark is created. See BookmarkOptions for the full list of options.

defaultEditOptions BookmarkOptions
Since: ArcGIS API for JavaScript 4.18

Specifies how bookmarks will be edited. Can be used to enable or disable taking screenshots or capturing the bookmark's viewpoint based on the current view when a bookmark is edited. See BookmarkOptions for the full list of options.

goToOverride GoToOverride

This function provides the ability to override either the IMapView goTo() or SceneView goTo() methods.

See also:
Example:
// The following snippet uses the Search widget but can be applied to any
// widgets that support the goToOverride property.
search.goToOverride = function(view, goToParams) {
  goToParams.options.duration = updatedDuration;
  return view.goTo(goToParams.target, goToParams.options);
};
state Stringreadonly

The view model's state.

Possible Values:"loading"|"ready"

Default Value:ready
view MapView

The view from which the widget will operate.

Method Overview

Name Return Type Summary Class
Promise<Bookmark>more details

Creates a new bookmark from the defaultCreateOptions, unless otherwise specified.

more detailsBookmarksViewModel
Promise<Bookmark>more details

Edits the given bookmark.

more detailsBookmarksViewModel
Promisemore details

Zoom to a specific bookmark.

more detailsBookmarksViewModel

Method Details

createBookmark(options){Promise<Bookmark>}
Since: ArcGIS API for JavaScript 4.13

Creates a new bookmark from the defaultCreateOptions, unless otherwise specified.

Parameter:
options BookmarkOptions
optional

Specifies how new bookmarks will be created. Can be used to enable/disable taking screenshots or capturing the extent when a new bookmark is added.

Returns:
Type Description
Promise<Bookmark> When resolved, returns the newly created Bookmark.
Example:
// Creates new bookmark from current view extent
viewModel.createBookmark().then(function(bookmark){
   // Give the bookmark a name
   bookmark.name = "New Bookmark";
   // Add to bookmarks list
   viewModel.bookmarks.add(bookmark);
});
editBookmark(bookmark, options){Promise<Bookmark>}
Since: ArcGIS API for JavaScript 4.17

Edits the given bookmark.

Parameters:
bookmark Bookmark

The bookmark to be edited.

options BookmarkOptions
optional

Specifies how bookmarks will be edited. Can be used to enable/disable taking screenshots or capturing the extent when a bookmark is edited. If not specified, the defaultEditOptions will be used.

Returns:
Type Description
Promise<Bookmark> When resolved, returns the edited Bookmark.
Example:
const options = {
  takeScreenshot: false,
  captureViewpoint: true
};

// update the given bookmark's viewpoint without taking a new screenshot
viewModel.editBookmark(bookmark, options).then(function(editedBookmark){
   // the edited bookmark's viewpoint should now match the current view
   console.log(editedBookmark.viewpoint);
   console.log(view.viewpoint);
})
goTo(bookmark){Promise}

Zoom to a specific bookmark.

Parameter:
bookmark Bookmark

The bookmark to zoom to.

Returns:
Type Description
Promise Resolves after the animation to specified bookmark finishes.

Type Definitions

BookmarkOptions Object

Specifies how bookmarks will be created or modified.

Properties:
takeScreenshot Boolean
optional

Indicates whether a screenshot is taken when a new bookmark is created. The screenshot will be set as the thumbnail in the newly created bookmark. Default is true.

captureViewpoint Boolean
optional

Since 4.17 Indicates whether the viewpoint of the current view will become the viewpoint of a newly created bookmark. Default is true.

captureRotation Boolean
optional

Since 4.17 Indicates whether the rotation of the current view will be saved in the viewpoint of a newly created bookmark. Default is true.

captureScale Boolean
optional

Since 4.17 Indicates whether the scale of the current view will be saved in the viewpoint of a newly created bookmark. Default is true.

screenshotSettings Object
optional

An object that specifies the settings of the screenshot that will be used to create the bookmark's thumbnail.

Specification:
width Number
optional

The width (in pixels) of the screenshot. Default is 128px.

height Number
optional

The height (in pixels) of the screenshot. Default is 128px.

area Object
optional

Used to take a screenshot of a subregion of the view. Defaults to the whole view.

Specification:
x Number
optional

The x value of the screenshot area.

y Number
optional

The y value of the screenshot area.

width Number
optional

The width of the screenshot area.

height Number
optional

The height of the screenshot area.

layers Layer[]
optional

An optional list of layers to be included in the screenshot.

Your browser is no longer supported. Please upgrade your browser for the best experience. See our browser deprecation post for more details.