forked from SuperMap/iClient-JavaScript
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmapvLayerPolyon.html
More file actions
135 lines (129 loc) · 4.94 KB
/
mapvLayerPolyon.html
File metadata and controls
135 lines (129 loc) · 4.94 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
123
124
125
126
127
128
129
130
131
132
133
134
135
<!--********************************************************************
* Copyright© 2000 - 2018 SuperMap Software Co.Ltd. All rights reserved.
*********************************************************************-->
<!DOCTYPE html>
<html lang="en-US">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=Edge">
<meta name="viewport" content="initial-scale=1.0, user-scalable=no, width=device-width">
<title data-i18n="resources.title_mapVLayerPolygon"></title>
<script type="text/javascript" src="../js/include-web.js"></script>
<script type="text/javascript" include="mapv" src="../../dist/mapboxgl/include-mapboxgl.js"></script>
<style>
body {
margin: 0;
padding: 0;
}
#map {
position: absolute;
top: 0;
bottom: 0;
width: 100%;
}
</style>
</head>
<body style=" margin: 0;overflow: hidden;background: #fff;width: 100%;height:100%">
<div id="map"></div>
<script type="text/javascript">
var attribution = "<a href='https://www.mapbox.com/about/maps/' target='_blank'>© Mapbox </a>" +
" with <span>© <a href='http://iclient.supermap.io' target='_blank'>SuperMap iClient</a> | </span>" +
" Map Data <span>© <a href='http://support.supermap.com.cn/product/iServer.aspx' target='_blank'>SuperMap iServer</a> | </span>" +
"<a href='http://mapv.baidu.com' target='_blank'>© 2017 百度 MapV</a>";
var host = window.isLocal ? window.server : "http://support.supermap.com.cn:8090";
var tileURL = host + "/iserver/services/map-china400/rest/maps/ChinaDark/zxyTileImage.png?z={z}&x={x}&y={y}";
var map = new mapboxgl.Map({
container: 'map',
style: {
"version": 8,
"sources": {
"raster-tiles": {
"attribution": attribution,
"type": "raster",
"tiles": [tileURL],
"tileSize": 256,
},
},
"layers": [{
"id": "simple-tiles",
"type": "raster",
"source": "raster-tiles",
"minzoom": 0,
"maxzoom": 22
}]
},
center: [113.28, 22.65],
zoom: 7
});
map.addControl(new mapboxgl.NavigationControl(), 'top-left');
map.addControl(new mapboxgl.supermap.LogoControl(), 'bottom-right');
loadData();
//示例数据来源为百度MapV的加偏数据,iClient9未做纠偏处理
function loadData() {
$.get('../data/guang_dong.json', function (geojson) {
var dataSet1 = mapv.geojson.getDataSet(geojson);
var citys = {
'深圳市': 20,
'广州市': 40,
'佛山市': 60,
'江门市': 80,
'中山市': 100,
};
var data1 = dataSet1.get({
filter: function (item) {
if (!citys[item.name]) {
return false;
}
item.count = citys[item.name];
return true;
}
});
dataSet1 = new mapv.DataSet(data1);
var options = {
gradient: {
0: 'yellow',
1: 'red'
},
globalAlpha: 0.8,
draw: 'intensity'
};
//mapboxgl.supermap.MapvLayer 构造函数的第一个 map 参数将在下个版本遗弃
var mapVLayer1 = new mapboxgl.supermap.MapvLayer("", dataSet1, options);
map.addLayer(mapVLayer1);
var data2 = [];
for (var key in citys) {
var center = mapv.utilCityCenter.getCenterByCityName(key.replace('市', ''));
data2.push(
{
geometry: {
type: 'Point',
coordinates: [center.lng, center.lat]
},
text: key
}
);
}
var dataSet2 = new mapv.DataSet(data2);
var textOptions = {
draw: 'text',
font: '14px Arial',
fillStyle: 'blue',
shadowColor: 'white',
shadowBlue: 20,
zIndex: 11,
shadowBlur: 10
};
//mapboxgl.supermap.MapvLayer 构造函数的第一个 map 参数将在下个版本遗弃
var mapVLayer2 = new mapboxgl.supermap.MapvLayer("", dataSet2, textOptions);
map.addLayer(mapVLayer2);
setTimeout(function () {
new mapboxgl.Popup({closeOnClick: false})
.setLngLat(map.getCenter())
.setHTML(resources.text_iClient9)
.addTo(map);
}, 1000)
});
}
</script>
</body>
</html>