Esri / Esri/react-sceneview

How to add tianditu layer to sceneView?

Open
#15 2 comments 0 reactions 1 assignee Claimed by @lisastaehli View on GitHub
enhancement
Dominant language
JavaScript
Stars
11
Forks
4
PR merge metrics
No merged PRs in 30d

Description

- js 4.10
- WebTileLayer.createSubclass
- code:
let TiandituWMTSLayer = WebTileLayer.createSubclass({
declaredClass: "TiandituWMTSLayer",
getDefaults:function (b) {
var sp = new SpatialReference({
"wkid": 4326
});
var c = new Extent(-180, -90, 180, 90, sp);
return{
fullExtent: c,
tileInfo: new TileInfo({
rows: 256,
cols: 256,
dpi: 300,
format: "PNG32",
compressionQuality: 0,
origin: new Point({x: -180, y: 90, spatialReference: sp}),
spatialReference: sp,
lods: [
new LOD({level: 1, resolution: 0.703125, scale: 295497593.05875003}),
new LOD({level: 2, resolution: 0.3515625, scale: 147748796.52937502}),
new LOD({level: 3, resolution: 0.17578125, scale: 73874398.264687508}),
new LOD({level: 4, resolution: 0.087890625, scale: 36937199.132343754}),
new LOD({level: 5, resolution: 0.0439453125, scale: 18468599.566171877}),
new LOD({level: 6, resolution: 0.02197265625, scale: 9234299.7830859385}),
new LOD({level: 7, resolution: 0.010986328125, scale: 4617149.8915429693}),
new LOD({level: 8, resolution: 0.0054931640625, scale: 2308574.9457714846}),
new LOD({level: 9, resolution: 0.00274658203125, scale: 1154287.4728857423}),
new LOD({level: 10, resolution: 0.001373291015625, scale: 577143.73644287116}),
new LOD({level: 11, resolution: 0.0006866455078125, scale: 288571.86822143558}),
new LOD({level: 12, resolution: 0.00034332275390625, scale: 144285.93411071779}),
new LOD({level: 13, resolution: 0.000171661376953125, scale: 72142.967055358895}),
new LOD({level: 14, resolution: 8.58306884765625e-005, scale: 36071.483527679447}),
new LOD({level: 15, resolution: 4.291534423828125e-005, scale: 18035.741763839724}),
new LOD({level: 16, resolution: 2.1457672119140625e-005, scale: 9017.8708819198619}),
new LOD({level: 17, resolution: 1.0728836059570313e-005, scale: 4508.9354409599309}),
new LOD({level: 18, resolution: 5.3644180297851563e-006, scale: 2254.4677204799655}),
new LOD({level: 19, resolution: 2.6822090148925781e-006, scale: 1127.2338602399827}),
new LOD({level: 20, resolution: 1.3411045074462891e-006, scale: 563.61693011999137})
]
})
}
},
getTileUrl(level, row, col) {
let url = 'http://t' + col % 8 + '.tianditu.cn/' + this.wmtslayer + '_c/wmts?' +
'SERVICE=WMTS&REQUEST=GetTile&VERSION=1.0.0&LAYER=' + this.wmtslayer +
'&STYLE=default&TILEMATRIXSET=c&TILEMATRIX=' +
level + '&TILEROW=' + row + '&TILECOL=' + col + '&FORMAT=tiles';
return url;
}
});
var options1 = {
id: "tianDiTu_img",
visible: true,
wmtslayer: "img",
layerType:'img',
"urlTemplate": "not null",
};
var layer2 = new TiandituWMTSLayer(options1);
var view3d = new SceneView({
map: map,
center: [110.1, 23.8],
zoom: 2,
spatialReference: {
wkid: 102100
},
container: "mapDiv3D"
});

- error:
message: "The tiling scheme of this layer is not supported by SceneView"
name: "layerview:tiling-scheme-unsupported"

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.