Repository navigation
Expand file tree
/
Copy pathcreateTempLayer.html
More file actions
122 lines (119 loc) · 4.13 KB
/
Copy pathcreateTempLayer.html
File metadata and controls
122 lines (119 loc) · 4.13 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
<!--********************************************************************
* Copyright© 2000 - 2026 SuperMap Software Co.Ltd. All rights reserved.
*********************************************************************-->
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<title data-i18n="resources.title_createTempLayer"></title>
<script type="text/javascript" include="bootstrap" src="../../js/include-web.js" ></script>
<style>
#toolbar {
position: absolute;
top: 50px;
right: 10px;
width: 300px;
text-align: center;
z-index: 500;
border-radius: 4px;
}
</style>
</head>
<body style="margin: 0; overflow: hidden; background: #fff; width: 100%; height: 100%; position: absolute; top: 0">
<div id="toolbar" class="panel panel-primary">
<div class="panel-heading">
<h5 class="panel-title text-center" data-i18n="resources.title_createTempLayer"></h5>
</div>
<div class="panel-body content">
<div style="margin-bottom: 5px; text-align: left;">
<span data-i18n="resources.text_gammaParamBounds"></span>
</div>
<div class="panel">
<div class="input-group">
<span class="input-group-addon" data-i18n="resources.text_gamma"></span>
<input id="gammaParam" value="1" class="form-control" />
</div>
</div>
<input
type="button"
class="btn btn-default"
data-i18n="[value]resources.text_create"
onclick="updateTempLayer()"
/>
</div>
</div>
<div id="map" style="margin: 0 auto; width: 100%; height: 100%"></div>
<script type="text/javascript" src="../../../dist/leaflet/include-leaflet.js" ></script>
<script type="text/javascript">
var host = window.isLocal ? window.server : 'https://iserver.supermap.io';
var map,
layerInfoService,
tempLayer,
newResourceID,
result,
url = host + '/iserver/services/map-World_en/rest/maps/World%20Map_VEC';
map = L.map('map', {
preferCanvas: true,
crs: L.CRS.EPSG4326,
center: { lon: 0, lat: 0 },
maxZoom: 18,
zoom: 2
});
createTempLayer();
function findLayerByName(layers, name) {
for (var i = 0; i < layers.length; i++) {
var layer = layers[i];
if (layer.name === name) return layer;
if (layer.subLayers && layer.subLayers.layers) {
var found = findLayerByName(layer.subLayers.layers, name);
if (found) return found;
}
}
return null;
}
function createTempLayer() {
new L.supermap.LayerInfoService(url).getLayersInfo().then((serviceResult) => {
result = serviceResult.result;
var layer = findLayerByName(result.subLayers.layers, 'Country_R@World#5');
if (!layer) {
console.error('Layer Country_R@World#5 not found');
return;
}
result.subLayers.layers = [layer];
layerInfoService = new L.supermap.LayerInfoService(url);
layerInfoService.setLayersInfo(
new L.supermap.SetLayersInfoParameters({
layersInfo: result
})
)
.then((res) => {
newResourceID = res.result.newResourceID;
tempLayer = new L.supermap.TiledMapLayer(url, {
noWrap: true,
cacheEnabled: false,
transparent: true,
layersID: res.result.newResourceID
})
tempLayer.addTo(map);
});
});
}
function updateTempLayer() {
if (!newResourceID) {
return;
}
var layer = result.subLayers.layers[0];
layer.gamma = document.getElementById("gammaParam").value || 1;
layerInfoService.setLayersInfo(
new L.supermap.SetLayersInfoParameters({
layersInfo: result,
resourceID: newResourceID,
isTempLayers: true
})
).then((res) => {
tempLayer.updateParams();
});
}
</script>
</body>
</html>