为什么使用 4490 天地图(xxx_c)创建 MapView 失败,没有报错也没有显示,创建 SceneView 成功加载显示


使用 4490 天地图(xxx_c)创建 MapView 失败, 没有报错也没有显示,创建 SceneView 成功加载显示,而 3857 的天地图(xx_w)无论是创建 MapView 还是 SceneView 都可以正常显示
 
 

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<meta name="viewport" content="initial-scale=1,maximum-scale=1,user-scalable=no" />
<title>天地图加载 - 4.12</title>
<style>
html,
body,
#viewDiv {
padding: 0;
margin: 0;
height: 100%;
width: 100%;
}
</style>

<link rel="stylesheet" href="https://js.arcgis.com/4.12/esr ... ot%3B />
<script src="https://js.arcgis.com/4.12/%26 ... gt%3B

<script>
require(["esri/Map",
"esri/views/SceneView",
"esri/layers/ElevationLayer",
"esri/Camera",
"esri/layers/ImageryLayer",
'esri/layers/WebTileLayer',
'esri/layers/support/TileInfo',
'esri/views/MapView',
],
function(Map,
SceneView,
ElevationLayer,
Camera,
ImageryLayer,
WebTileLayer,
TileInfo,
MapView
) {


const tileInfo= {
dpi: 90.71428571427429,
rows: 256,
cols: 256,
compressionQuality: 0,
origin: {
x: -180,
y: 90
},
spatialReference: {
wkid: 4490
},
lods: [
{ level: 0, levelValue: 1, resolution: 0.703125, scale: 295497593.05875003 },
{ level: 1, levelValue: 2, resolution: 0.3515625, scale: 147748796.52937502 },
{ level: 2, levelValue: 3, resolution: 0.17578125, scale: 73874398.264687508 },
{ level: 3, levelValue: 4, resolution: 0.087890625, scale: 36937199.132343754 },
{ level: 4, levelValue: 5, resolution: 0.0439453125, scale: 18468599.566171877 },
{ level: 5, levelValue: 6, resolution: 0.02197265625, scale: 9234299.7830859385 },
{ level: 6, levelValue: 7, resolution: 0.010986328125, scale: 4617149.8915429693 },
{ level: 7, levelValue: 8, resolution: 0.0054931640625, scale: 2308574.9457714846 },
{ level: 8, levelValue: 9, resolution: 0.00274658203125, scale: 1154287.4728857423 },
{ level: 9, levelValue: 10, resolution: 0.001373291015625, scale: 577143.73644287116 },
{ level: 10, levelValue: 11, resolution: 0.0006866455078125, scale: 288571.86822143558 },
{ level: 11, levelValue: 12, resolution: 0.00034332275390625, scale: 144285.93411071779 },
{ level: 12, levelValue: 13, resolution: 0.000171661376953125, scale: 72142.967055358895 },
{ level: 13, levelValue: 14, resolution: 8.58306884765625e-005, scale: 36071.483527679447 },
{ level: 14, levelValue: 15, resolution: 4.291534423828125e-005, scale: 18035.741763839724 },
{ level: 15, levelValue: 16, resolution: 2.1457672119140625e-005, scale: 9017.8708819198619 },
{ level: 16, levelValue: 17, resolution: 1.0728836059570313e-005, scale: 4508.9354409599309 },
{ level: 17, levelValue: 18, resolution: 5.3644180297851563e-006, scale: 2254.4677204799655 },
{ level: 18, levelValue: 19, resolution: 2.68220901489257815e-006, scale: 1127.23386023998275 },
{ level: 19, levelValue: 20, resolution: 1.341104507446289075e-006, scale: 563.616930119991375 }
]
}
const tileInfoParam = new TileInfo(tileInfo)
const item = {
url: `https://{subDomain}.tianditu.gov.cn/vec_c/wmts?SERVICE=WMTS&REQUEST=GetTile&VERSION=1.0.0&LAYER=vec&STYLE=default&TILEMATRIXSET=c&FORMAT=tiles&TILECOL={col}&TILEROW={row}&TILEMATRIX={level}&tk=871d4cd31ca475ac00f30fd7c563b61d`,
subDomains: ['t0', 't1', 't2', 't3', 't4', 't5', 't6', 't7'],
id: 'tdtVec',
isBaseMap: true, // 是否为底图,注记为非底图
type: 'tiandituOnline4490',
visible: true,
title: '天地图矢量',
index: 5
}
const baseLayer = new WebTileLayer({
id: item.id,
urlTemplate: item.url,
subDomains: item.subDomains,
visible: true,
tileInfo: tileInfoParam,
spatialReference: { wkid: 4490 }
})
var map = new Map();

map.add(baseLayer)

/**
* 情况 1
* 测试发现 MapView 上添加 4490 的天地图失败,没有报错也没有任何显示
*/
// var view = new MapView({
// container: "viewDiv",
// map: map,
// });

/**
* 情况 2
* 测试发现 SceneView 上添加 4490 的天地图成功显示
*/
var view = new SceneView({
container: "viewDiv",
map: map,
});

view.on('click', (e) => {
console.log(e)
})
});

</script>
</head>

<body></body>
</html>
已邀请:

许丹石

赞同来自:

我这边测MapView可以出来。应该这么写
        var map = new Map({
            basemap: {
                baseLayers: [tiledLayer]
            }
        });
 var view = new MapView({
            container: "map",
            spatialReference: {
                wkid: 4490
            },
            map: map,
        });

要回复问题请先登录注册