Hi,
I got an error when loading Tile layers as a custom base-map with projected coordinate systems( spatial reference 25833 ) in ArcGisJS API 4.10.Error is as below
dojo.js:310 [esri.views.2d.layers.TileLayerView2D] #resolve() Failed to resolve layer view (layer title: 'xxxxx', id: 'xxxxxx')
message: "The spatial reference of this layer does not meet the requirements of the view"
name: "layerview:spatial-reference-incompatible"
Is there any limitation to load projected coordinate type spatial references Tile layer in arcgis js api.
Thank you !!
Hi there,
Services with spatial reference in UTM zones (25833) can be used as basemaps. I am assuming your workflow is like the following. I have tested the following workflow with a cached map service with wkid of 25833 and confirmed that it works in 4.10.
var layer = new TileLayer({
url: "yourrurl"
});
var basemap = new Basemap({
baseLayers: [layer]
});var map = new Map({
basemap: basemap
});
Could you please provide a simple test case if you cannot get it work?
Thanks,
-Undral
I have met the similar problem too.
I have adopted an image tile layer as basemap, and want to add a scene layer to the map. It seems that I could only load one layer, the basemap or the scene layer, or it would report an error that indicates the failure of creating a layer view for my scene layer due to 'spatial-reference-incompatible'.
However, if I only load the layer which contains a 3D building Object, it could load the picture we need.
By the way, the basemap and scene layer use the same projected coordinate system, a customized coordinate system 4547.
Here is my test code:
var imgBasemap = new Basemap({
baseLayers: [imageLayer],
title: "影像底图",
id: "imgBasemap"
});
const map = new Map({
// basemap: imgBasemap,
ground:new Ground({
layers:[imageLayer]
})
});
map.spatialReference = imgBasemap.spatialReference;
const view = new SceneView({
container: "viewDiv", // Reference to the DOM node that will contain the view
map: map, // References the map object created in step 3
// Add scene layer
var sceneLayer = new SceneLayer({
url: url
});
map.add(sceneLayer);
I have omitted the definition of URL and basemap due to the privacy concern. They are offered by the third party.
May you give me some advice?
Thanks,
-Shifan