- See also
Constructors
-
new PortalBasemapsSource(properties)
-
Parameterproperties Objectoptional
See the properties for a list of all the properties that may be passed into the constructor.
Property Overview
Name | Type | Summary | Class |
---|---|---|---|
Collection<Basemap> | A collection of Basemaps fetched from the source's Portal. more details | PortalBasemapsSource | |
String | The name of the class. more details | Accessor | |
BasemapFilter | Function used to filter basemaps after being fetched from the Portal. more details | PortalBasemapsSource | |
Portal | The Portal from which to fetch basemaps. more details | PortalBasemapsSource | |
Object|String | An object with key-value pairs used to create a custom basemap gallery group query. more details | PortalBasemapsSource | |
String | The source's state. more details | PortalBasemapsSource | |
UpdateBasemapsCallback | Callback for updating basemaps after being fetched and filtered. more details | PortalBasemapsSource |
Property Details
-
basemaps Collection<Basemap>readonly
-
A collection of Basemaps fetched from the source's Portal.
-
Since: ArcGIS Maps SDK for JavaScript 4.7
-
The name of the class. The declared class name is formatted as
esri.folder.className
.
-
filterFunction BasemapFilter
-
Function used to filter basemaps after being fetched from the Portal.
Exampleconst basemapGallery = new BasemapGallery({ view: view, source: { portal: "https://arcgis.com", // async filterFunction support added at v4.27 filterFunction: async (item, index, basemaps) => { let bool = true; await item.load().then((loadedBasemap) => { // filter out the Oceans basemap if (loadedBasemap.title == "Oceans") { bool = false; } }) return bool; } } });
-
portal Portal
-
The Portal from which to fetch basemaps.
-
Since: ArcGIS Maps SDK for JavaScript 4.5
-
An object with key-value pairs used to create a custom basemap gallery group query. Note that all parameters will be joined using the
AND
operator. A query string can also be provided for more advanced use cases.Examples// query portal basemaps with an object let source = new PortalBasemapsSource({ query: { title: "United States Basemaps", owner: "Esri_cy_US" } });
// query portal basemaps with a string let source = new PortalBasemapsSource({ query: "title:\"United States Basemaps\" AND owner:Esri_cy_US" });
-
state Stringreadonly
-
The source's state.
Possible Values:"not-loaded"|"loading"|"ready"
- Default Value:not-loaded
-
updateBasemapsCallback UpdateBasemapsCallbackSince: ArcGIS Maps SDK for JavaScript 4.8
-
Callback for updating basemaps after being fetched and filtered. This can be useful if you want to add a custom basemap after fetching the portal basemaps.
Method Overview
Name | Return Type | Summary | Class |
---|---|---|---|
Adds one or more handles which are to be tied to the lifecycle of the object. more details | Accessor | ||
Boolean | Returns true if a named group of handles exist. more details | Accessor | |
Promise | Refreshes basemaps by fetching them from the Portal. more details | PortalBasemapsSource | |
Removes a group of handles owned by the object. more details | Accessor |
Method Details
-
addHandles(handleOrHandles, groupKey)inheritedSince: ArcGIS Maps SDK for JavaScript 4.25
-
Adds one or more handles which are to be tied to the lifecycle of the object. The handles will be removed when the object is destroyed.
// Manually manage handles const handle = reactiveUtils.when( () => !view.updating, () => { wkidSelect.disabled = false; }, { once: true } ); this.addHandles(handle); // Destroy the object this.destroy();
ParametershandleOrHandles WatchHandle|WatchHandle[]Handles marked for removal once the object is destroyed.
groupKey *optionalKey identifying the group to which the handles should be added. All the handles in the group can later be removed with Accessor.removeHandles(). If no key is provided the handles are added to a default group.
-
Since: ArcGIS Maps SDK for JavaScript 4.25
-
Returns true if a named group of handles exist.
ParametergroupKey *optionalA group key.
ReturnsType Description Boolean Returns true
if a named group of handles exist.Example// Remove a named group of handles if they exist. if (obj.hasHandles("watch-view-updates")) { obj.removeHandles("watch-view-updates"); }
-
refresh(){Promise}
-
Refreshes basemaps by fetching them from the Portal.
ReturnsType Description Promise A promise that resolves when the basemaps have been fetched.
-
removeHandles(groupKey)inheritedSince: ArcGIS Maps SDK for JavaScript 4.25
-
Removes a group of handles owned by the object.
ParametergroupKey *optionalA group key or an array or collection of group keys to remove.
Exampleobj.removeHandles(); // removes handles from default group obj.removeHandles("handle-group"); obj.removeHandles("other-handle-group");
Type Definitions
-
This function is used by the filterFunction property to filter basemaps after they are fetched from the Portal.
Support for asynchronous filter functions was added at version 4.27.
Parametersitem BasemapThe current Basemap item being assessed in the array.
index NumberThe index of the Basemap being assessed.
The array of basemaps being filtered.
ReturnsType Description Boolean | Promise<boolean> - Returns true if the test passes, false otherwise.
-
This function is used by the updateBasemapsCallback property for updating basemaps after being fetched and filtered.
ParameterAn array of basemaps that have been fetched and filtered from the Portal.
ReturnsType Description Basemap[] The array of basemaps to display in the BasemapGallery widget. Examplelet basemapGallery = new BasemapGallery({ view: view, source: { query: { title: "United States Basemaps", owner: "Esri_cy_US" }, updateBasemapsCallback: function(items) { // create custom basemap to be added to the array of portal basemaps let bm = new Basemap({ portalItem: { id: "8dda0e7b5e2d4fafa80132d59122268c" // WGS84 Streets Vector webmap } }); // add basemap to the array items.push(bm); // return the array of basemaps return items; } } });