This sample shows how to add an instance of a hosted ImageryTileLayer to a Map in a MapView. The ImageryTileLayer in this sample shows the National Land Cover Database (NLCD) 2016 land cover types for the United States. Tiled imagery layers can be published and hosted in ArcGIS Online. These layers are image services generated from one or more image files. If an ImageryTileLayer is created using multiple images, the images are mosaicked together into a single image. Source images and raster files are converted to Cloud Raster Format (CRF) when uploaded to your ArcGIS Online organization. See the Publish hosted imagery layers document for more information on hosting your raster data.
How it works
When the application starts, The UI allows the user to specify the land cover type to display and the spatialReference of the view. The user can choose a spatial reference of the view from a drop down. The view spatialReference is changed with the specified spatialReference as shown below and layers are projected to match the spatialReference of the view:
// Reproject the data to the projection selected by the user
const wkidSelect = document.getElementById("projectWKID");
wkidSelect.addEventListener("change", () => {
view.spatialReference = {
wkid: wkidSelect.value
};
});
When the user chooses a land cover type, we update the layer's renderer to display the selected land cover type as shown below. The land cover types are displayed in a calcite radio button group on the right side of the application.
// this function is called whenever user changes the land cover type
// from the drop down. It creates a unique value renderer for the
// land cover type the user selected.
function changeLandCoverType(landType) {
const uvr = new UniqueValueRenderer({
field: "NLCD_Land",
uniqueValueInfos: []
});
landType.categories.forEach((value, i) => {
const uniqueValue = new UniqueValueInfo({
value,
symbol: {
type: "simple-fill",
color: landType.color[i]
}
});
uvr.uniqueValueInfos.push(uniqueValue);
});
return uvr;
}