Skip to content

Commit 34c1a78

Browse files
[feature]mapbox端新增经纬网API,范例 review by songym
1 parent ba0685e commit 34c1a78

File tree

17 files changed

+1579
-435
lines changed

17 files changed

+1579
-435
lines changed

build/jsdocs/template/config.json

Lines changed: 406 additions & 406 deletions
Large diffs are not rendered by default.

build/jsdocs/template/typeLinkExt.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ var typeLinks = {
6464
//mapboxgl
6565
"mapboxgl.Evented": mbglapi + '#Evented',
6666
"mapboxgl.Map": mbglapi + '#map',
67-
"mapboxgl.LngLatbounds": mbglapi + '#lnglatbounds',
67+
"mapboxgl.LngLatBounds": mbglapi + '#lnglatbounds',
6868
"mapboxgl.LngLat": mbglapi + '#lnglat',
6969
"mapboxgl.Point": mbglapi + '#point',
7070
//mapv

examples/locales/en-US/resources.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -353,6 +353,8 @@ window.examplesResources = {
353353
"title_measureDistance": "Distance Measurement Service",
354354
"title_tiledMapLayer": "3857 Coordinate System",
355355
"title_tiledMapLayer_4326": "4326Map",
356+
"title_graticuleLayer_3857": "Graticule",
357+
"title_graticuleLayer_4326": "Graticule_WGS84",
356358
"title_tiledMapLayer_4326WGS84": "Map WGS84",
357359
"title_tiledMapLayer_China2000": "Map China2000",
358360
"title_tiledMapLayer_Beijing54": "Map Beijing54",

examples/locales/zh-CN/resources.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -294,6 +294,8 @@ window.examplesResources = {
294294
"title_measureDistance": "距离测量",
295295
"title_tiledMapLayer": "3857底图",
296296
"title_tiledMapLayer_4326": "4326底图",
297+
"title_graticuleLayer_3857": "经纬网",
298+
"title_graticuleLayer_4326": "经纬网_WGS84",
297299
"title_tiledMapLayer_4326WGS84": "地图_WGS84",
298300
"title_tiledMapLayer_China2000": "地图_China2000",
299301
"title_tiledMapLayer_Beijing54": "地图_Beijing54",

examples/mapboxgl/config.js

Lines changed: 24 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -388,7 +388,7 @@ var exampleConfig = {
388388
// fileName: "machinelearning_landcoverclassification"
389389
// }
390390
]
391-
},
391+
}
392392
}
393393
},
394394
iPortal: {
@@ -1000,6 +1000,20 @@ var exampleConfig = {
10001000
fileName: "rangeTheme3DLayer"
10011001
}
10021002
]
1003+
},
1004+
Graticule: {
1005+
name: "经纬网",
1006+
name_en: "Graticule",
1007+
version: "10.1.1",
1008+
content: [
1009+
{
1010+
name: "经纬网",
1011+
name_en: "graticule",
1012+
1013+
thumbnail: "graticule_3857.png",
1014+
fileName: "graticuleLayer_3857"
1015+
}
1016+
]
10031017
}
10041018
}
10051019
},
@@ -1119,7 +1133,16 @@ var exampleConfig = {
11191133
version: "10.1.0",
11201134
thumbnail: "print_pdf.png",
11211135
fileName: "print_pdf"
1136+
},
1137+
{
1138+
name: "经纬网_WGS84",
1139+
name_en: "graticule_WGS84",
1140+
version: "10.1.1",
1141+
thumbnail: "graticule.png",
1142+
fileName: "graticuleLayer_4326"
11221143
}
1144+
1145+
11231146
]
11241147
},
11251148
Multi_coordinate_cluster: {
Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
1+
<!DOCTYPE html>
2+
<html>
3+
<head>
4+
<meta charset="utf-8" />
5+
<meta name="viewport" content="initial-scale=1,maximum-scale=1,user-scalable=no" />
6+
<title data-i18n="resources.title_graticuleLayer_3857"></title>
7+
<script type="text/javascript" src="../js/include-web.js"></script>
8+
<script type="text/javascript" src="../../dist/mapboxgl/include-mapboxgl.js"></script>
9+
<style>
10+
body {
11+
margin: 0;
12+
padding: 0;
13+
}
14+
15+
#map {
16+
position: absolute;
17+
top: 0;
18+
bottom: 0;
19+
width: 100%;
20+
}
21+
</style>
22+
</head>
23+
<body>
24+
<div id="map"></div>
25+
<script type="text/javascript">
26+
var host = window.isLocal ? window.server : 'https://iserver.supermap.io';
27+
var map = new mapboxgl.Map({
28+
container: 'map', // container id
29+
style: {
30+
version: 8,
31+
sources: {
32+
'raster-tiles': {
33+
type: 'raster',
34+
tiles: [
35+
host +
36+
'/iserver/services/map-china400/rest/maps/China/zxyTileImage.png?z={z}&x={x}&y={y}'
37+
],
38+
tileSize: 256
39+
}
40+
},
41+
layers: [
42+
{
43+
id: 'simple-tiles',
44+
type: 'raster',
45+
source: 'raster-tiles',
46+
minzoom: 0,
47+
maxzoom: 22
48+
}
49+
]
50+
},
51+
center: [120.143, 30.236], // starting position
52+
zoom: 3 // starting zoom
53+
});
54+
map.addControl(new mapboxgl.NavigationControl(), 'top-left');
55+
map.on('load', function() {
56+
// 设置经纬网
57+
var graticuleLayer = new mapboxgl.supermap.GraticuleLayer();
58+
map.addLayer(graticuleLayer);
59+
});
60+
</script>
61+
</body>
62+
</html>
Lines changed: 87 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,87 @@
1+
<!DOCTYPE html>
2+
<html>
3+
<head>
4+
<meta charset="utf-8" />
5+
<meta name="viewport" content="initial-scale=1,maximum-scale=1,user-scalable=no" />
6+
<title data-i18n="resources.title_graticuleLayer_4326"></title>
7+
<script type="text/javascript" src="../js/include-web.js"></script>
8+
<script
9+
type="text/javascript"
10+
include="mapbox-gl-enhance"
11+
src="../../dist/mapboxgl/include-mapboxgl.js"
12+
></script>
13+
<style>
14+
body {
15+
margin: 0;
16+
padding: 0;
17+
}
18+
19+
#map {
20+
position: absolute;
21+
top: 0;
22+
bottom: 0;
23+
width: 100%;
24+
}
25+
</style>
26+
</head>
27+
<body>
28+
<div id="map"></div>
29+
<script type="text/javascript">
30+
var host = window.isLocal ? window.server : 'https://iserver.supermap.io';
31+
var map = new mapboxgl.Map({
32+
container: 'map', // container id
33+
style: {
34+
version: 8,
35+
sources: {
36+
'raster-tiles': {
37+
type: 'raster',
38+
tileSize: 256,
39+
tiles: [host + '/iserver/services/map-world/rest/maps/World'],
40+
rasterSource: 'iserver'
41+
}
42+
},
43+
44+
layers: [
45+
{
46+
id: 'simple-tiles',
47+
type: 'raster',
48+
source: 'raster-tiles',
49+
minzoom: 0,
50+
maxzoom: 22
51+
}
52+
]
53+
},
54+
crs: 'EPSG:4326',
55+
center: [0, 0],
56+
zoom: 2
57+
});
58+
map.on('load', function() {
59+
//从 iServer 查询
60+
var idsParam = new SuperMap.GetFeaturesByIDsParameters({
61+
IDs: [247],
62+
datasetNames: ['World:Countries']
63+
});
64+
var service = new mapboxgl.supermap.FeatureService(host + '/iserver/services/data-world/rest/data');
65+
service.getFeaturesByIDs(idsParam, function(serviceResult) {
66+
map.addSource('queryDatas', {
67+
type: 'geojson',
68+
data: serviceResult.result.features
69+
});
70+
map.addLayer({
71+
id: 'queryDatas',
72+
type: 'fill',
73+
source: 'queryDatas',
74+
paint: {
75+
'fill-color': '#008080',
76+
'fill-opacity': 0.4
77+
},
78+
filter: ['==', '$type', 'Polygon']
79+
});
80+
});
81+
// 设置经纬网
82+
var graticuleLayer = new mapboxgl.supermap.GraticuleLayer();
83+
map.addLayer(graticuleLayer);
84+
});
85+
</script>
86+
</body>
87+
</html>
78.4 KB
Loading
50.3 KB
Loading

src/common/index.js

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -367,7 +367,9 @@ import {
367367
FetchRequest,
368368
ColorsPickerUtil,
369369
ArrayStatistic,
370-
getMeterPerMapUnit
370+
getMeterPerMapUnit,
371+
getWrapNum,
372+
conversionDegree
371373
} from './util';
372374
import { CartoCSS, ThemeStyle } from './style';
373375
import {
@@ -573,7 +575,9 @@ export {
573575
FetchRequest,
574576
ColorsPickerUtil,
575577
ArrayStatistic,
576-
getMeterPerMapUnit
578+
getMeterPerMapUnit,
579+
getWrapNum,
580+
conversionDegree
577581
};
578582
export { IManager, IManagerCreateNodeParam, IManagerServiceBase };
579583
export {

0 commit comments

Comments
 (0)