Skip to content

Commit ea43b90

Browse files
修改地物编辑示例中的脚本顺序。review by zhurch
1 parent 3400ef4 commit ea43b90

File tree

2 files changed

+102
-96
lines changed

2 files changed

+102
-96
lines changed

examples/leaflet/02_editFeatures.html

Lines changed: 99 additions & 93 deletions
Original file line numberDiff line numberDiff line change
@@ -5,105 +5,111 @@
55
<title>地物编辑</title>
66
<link href="http://cdn.bootcss.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet">
77
<link rel="stylesheet" href="http://cdn.bootcss.com/leaflet/1.0.3/leaflet.css">
8-
<script type="text/javascript" src="http://cdn.bootcss.com/leaflet/1.0.3/leaflet.js"></script>
9-
<script type="text/javascript" src="../../dist/iclient9-leaflet.js"></script>
10-
<script type="text/javascript">
11-
var map, marker, featureGroup, id, resultLayer,
12-
baseUrl = "http://support.supermap.com.cn:8090/iserver/services/map-world/rest/maps/World",
13-
urlCapital = "http://support.supermap.com.cn:8090/iserver/services/data-world/rest/data/datasources/World/datasets/Capitals",
14-
url = "http://support.supermap.com.cn:8090/iserver/services/data-world/rest/data";
15-
function init() {
16-
map = L.map('map', {
17-
preferCanvas: true,
18-
crs: L.CRS.EPSG4326,
19-
center: {lon: 110, lat: 30},
20-
maxZoom: 18,
21-
zoom: 3
22-
});
23-
L.supermap.tiledMapLayer(baseUrl).addTo(map);
24-
featureGroup = L.featureGroup().addTo(map);
25-
initFeature();
26-
}
27-
function initFeature() {
28-
var polygon = L.polygon([[10, 100], [10, 124], [40, 124], [40, 100], [10, 100]]);
29-
var getFeatureParams = new GetFeaturesByGeometryParameters({
30-
datasetNames: ["World:Capitals"],
31-
geometry: polygon,
32-
spatialQueryMode: "INTERSECT"
33-
});
34-
L.supermap.getFeaturesService(url).getFeaturesByGeometry(getFeatureParams).on("complete", function (serviceResult) {
35-
resultLayer = L.geoJSON(serviceResult.result, {
36-
onEachFeature: function (feature, layer) {
37-
layer.bindPopup("首都:" + feature.properties.CAPITAL);
38-
}
39-
}).addTo(map);
40-
});
41-
}
42-
function addMarker() {
43-
if (!featureGroup.hasLayer(marker)) {
44-
var xmax = 120, xmin = 100, ymax = 50, ymin = 20;
45-
marker = L.circleMarker([
46-
Math.floor(Math.random() * (ymax - ymin + 1) + ymin),
47-
Math.floor(Math.random() * (xmax - xmin + 1) + xmin)
48-
], {color: "red"});
49-
featureGroup.addLayer(marker);
50-
map.setView(marker.getLatLng());
51-
} else {
52-
alert("请先清除结果");
53-
}
54-
}
55-
function commit() {
56-
var me = this;
57-
if (featureGroup.hasLayer(marker)) {
58-
var addFeatureParams = new EditFeaturesParameters({
59-
features: marker,
60-
editType: "add",
61-
returnContent: true
62-
});
63-
L.supermap.editFeaturesService(urlCapital).editFeatures(addFeatureParams).on("complete", function (serviceResult) {
64-
if (serviceResult.result.succeed) {
65-
id = serviceResult.result[0];
66-
featureGroup.removeFrom(map);
67-
resultLayer.removeFrom(map);
68-
me.initFeature();
69-
}
70-
});
71-
} else {
72-
alert("请先添加地物");
73-
}
74-
}
75-
function clearLayer() {
76-
var me = this;
77-
if (!featureGroup.hasLayer(marker)) {
78-
return;
79-
}
80-
if (id) {
81-
var deleteParams = new EditFeaturesParameters({
82-
IDs: [id],
83-
editType: "delete"
84-
});
85-
L.supermap.editFeaturesService(urlCapital).editFeatures(deleteParams).on("complete", function (serviceResult) {
86-
if (serviceResult.result.succeed) {
87-
resultLayer.removeFrom(map);
88-
me.initFeature();
89-
} else {
90-
alert("删除失败")
91-
}
92-
});
93-
}
94-
if (featureGroup && featureGroup.hasLayer(marker)) {
95-
featureGroup.removeLayer(marker);
96-
marker = null;
97-
}
98-
}
99-
</script>
1008
</head>
101-
<body onload="init()" onbeforeunload="closeLayer()" style=" margin: 0;overflow: hidden;background: #fff;width: 100%;height:600px;">
9+
<body onload="init()"
10+
style=" margin: 0;overflow: hidden;background: #fff;width: 100%;height:100%;position: absolute;top: 0;">
10211
<div id="toolbar" style="height:44px; padding-top: 6px; text-align: right ">
10312
<input type="button" class="btn btn-default" value="添加地物" onclick="addMarker()"/>
10413
<input type="button" class="btn btn-default" value="提交添加" onclick="commit()"/>
10514
<input type="button" class="btn btn-default" value="清除结果" onclick="clearLayer()"/>
10615
</div>
10716
<div id="map" style="margin:0 auto;width: 100%;height: 100%;border: 1px solid #dddddd"></div>
10817
</body>
18+
19+
<script type="text/javascript" src="http://cdn.bootcss.com/leaflet/1.0.3/leaflet.js"></script>
20+
<script type="text/javascript" src="../../dist/iclient9-leaflet.js"></script>
21+
<script type="text/javascript">
22+
var map, marker, featureGroup, id, resultLayer,
23+
baseUrl = "http://support.supermap.com.cn:8090/iserver/services/map-world/rest/maps/World",
24+
urlCapital = "http://support.supermap.com.cn:8090/iserver/services/data-world/rest/data/datasources/World/datasets/Capitals",
25+
url = "http://support.supermap.com.cn:8090/iserver/services/data-world/rest/data";
26+
function init() {
27+
map = L.map('map', {
28+
preferCanvas: true,
29+
crs: L.CRS.EPSG4326,
30+
center: {lon: 110, lat: 30},
31+
maxZoom: 18,
32+
zoom: 3
33+
});
34+
L.supermap.tiledMapLayer(baseUrl).addTo(map);
35+
featureGroup = L.featureGroup().addTo(map);
36+
initFeature();
37+
}
38+
39+
function initFeature() {
40+
var polygon = L.polygon([[10, 100], [10, 124], [40, 124], [40, 100], [10, 100]]);
41+
var getFeatureParams = new GetFeaturesByGeometryParameters({
42+
datasetNames: ["World:Capitals"],
43+
geometry: polygon,
44+
spatialQueryMode: "INTERSECT"
45+
});
46+
L.supermap.getFeaturesService(url).getFeaturesByGeometry(getFeatureParams).on("complete", function (serviceResult) {
47+
resultLayer = L.geoJSON(serviceResult.result, {
48+
onEachFeature: function (feature, layer) {
49+
layer.bindPopup("首都:" + feature.properties.CAPITAL);
50+
}
51+
}).addTo(map);
52+
});
53+
}
54+
55+
function addMarker() {
56+
if (!featureGroup.hasLayer(marker)) {
57+
var xmax = 120, xmin = 100, ymax = 50, ymin = 20;
58+
marker = L.circleMarker([
59+
Math.floor(Math.random() * (ymax - ymin + 1) + ymin),
60+
Math.floor(Math.random() * (xmax - xmin + 1) + xmin)
61+
], {color: "red"});
62+
featureGroup.addLayer(marker);
63+
featureGroup.addTo(map);
64+
map.setView(marker.getLatLng());
65+
} else {
66+
alert("请先清除结果");
67+
}
68+
}
69+
70+
function commit() {
71+
var me = this;
72+
if (featureGroup.hasLayer(marker)) {
73+
var addFeatureParams = new EditFeaturesParameters({
74+
features: marker,
75+
editType: "add",
76+
returnContent: true
77+
});
78+
L.supermap.editFeaturesService(urlCapital).editFeatures(addFeatureParams).on("complete", function (serviceResult) {
79+
if (serviceResult.result.succeed) {
80+
id = serviceResult.result[0];
81+
featureGroup.removeFrom(map);
82+
me.initFeature();
83+
}
84+
});
85+
} else {
86+
alert("请先添加地物");
87+
}
88+
}
89+
90+
function clearLayer() {
91+
var me = this;
92+
if (!featureGroup.hasLayer(marker)) {
93+
return;
94+
}
95+
if (id) {
96+
var deleteParams = new EditFeaturesParameters({
97+
IDs: [id],
98+
editType: "delete"
99+
});
100+
L.supermap.editFeaturesService(urlCapital).editFeatures(deleteParams).on("complete", function (serviceResult) {
101+
if (serviceResult.result.succeed) {
102+
resultLayer.removeFrom(map);
103+
me.initFeature();
104+
} else {
105+
alert("删除失败")
106+
}
107+
});
108+
}
109+
if (featureGroup && featureGroup.hasLayer(marker)) {
110+
featureGroup.removeLayer(marker);
111+
marker = null;
112+
}
113+
}
114+
</script>
109115
</html>

examples/openlayers/02_editFeatures.html

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,7 @@
66
<link href="http://cdn.bootcss.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet">
77
<link href="http://cdn.bootcss.com/openlayers/4.0.1/ol.css" rel="stylesheet">
88
</head>
9-
<body onload="init()" onbeforeunload="closeLayer()"
10-
style=" margin: 0;overflow: hidden;background: #fff;width: 100%;height:100%">
9+
<body onload="init()" style=" margin: 0;overflow: hidden;background: #fff;width: 100%;height:100%">
1110
<div id="toolbar" style="height:44px; padding-top: 6px; text-align: right ">
1211
<input type="button" class="btn btn-default" value="添加地物" onclick="addMarker()"/>
1312
<input type="button" class="btn btn-default" value="提交添加" onclick="commit()"/>
@@ -56,7 +55,7 @@
5655
}
5756
vectorSource = new ol.source.Vector({
5857
features: features,
59-
wrapX:false
58+
wrapX: false
6059
});
6160
resultLayer = new ol.layer.Vector({
6261
source: vectorSource,
@@ -102,6 +101,7 @@
102101
}
103102
});
104103
}
104+
105105
function clearLayer() {
106106
var me = this;
107107
var editFeaturesService = new ol.supermap.EditFeaturesService(urlCapital);

0 commit comments

Comments
 (0)