Skip to content

Commit f55308f

Browse files
committed
修复leaflet最短路径查询显示确实的examples
1 parent 4bbc32d commit f55308f

File tree

1 file changed

+78
-70
lines changed

1 file changed

+78
-70
lines changed
Lines changed: 78 additions & 70 deletions
Original file line numberDiff line numberDiff line change
@@ -1,83 +1,91 @@
11
<!DOCTYPE html>
22
<html>
3+
34
<head>
45
<meta charset="UTF-8">
56
<title data-i18n="resources.title_findPath">网络分析服务-最佳路径分析</title>
67
<script type="text/javascript" src="../js/include-web.js"></script>
78
</head>
9+
810
<body style=" margin: 0;overflow: hidden;background: #fff;width: 100%;height:100%;position: absolute;top: 0;">
9-
<div id="map" style="margin:0 auto;width: 100%;height: 100%"></div>
10-
<script type="text/javascript" src="../../dist/include-leaflet.js"></script>
11-
<script type="text/javascript">
12-
var host = window.isLocal ? window.server : "http://support.supermap.com.cn:8090";
13-
var map, findPathService, findPathParameter,
14-
baseUrl = host + "/iserver/services/map-changchun/rest/maps/长春市区图",
15-
serviceUrl = host + "/iserver/services/transportationanalyst-sample/rest/networkanalyst/RoadNet@Changchun";
16-
//最佳路径分析必须按照指定顺序对站点进行访问
17-
map = L.map('map', {
18-
crs: L.CRS.NonEarthCRS({
19-
bounds: L.bounds([48.4, -7668.25], [8958.85, -55.58]),
20-
origin: L.point(48.4, -55.58)
21-
}),
22-
center: [-3600, 5000],
23-
maxZoom: 18,
24-
zoom: 2
25-
});
26-
L.supermap.tiledMapLayer(baseUrl, {noWrap: true})
27-
.addTo(map)
28-
.once("load", function () {
29-
findPathProcess();
11+
<div id="map" style="margin:0 auto;width: 100%;height: 100%"></div>
12+
<script type="text/javascript" src="../../dist/include-leaflet.js"></script>
13+
<script type="text/javascript">
14+
var host = window.isLocal ? window.server : "http://support.supermap.com.cn:8090";
15+
var map, findPathService, findPathParameter,
16+
baseUrl = host + "/iserver/services/map-changchun/rest/maps/长春市区图",
17+
serviceUrl = host + "/iserver/services/transportationanalyst-sample/rest/networkanalyst/RoadNet@Changchun";
18+
//最佳路径分析必须按照指定顺序对站点进行访问
19+
map = L.map('map', {
20+
crs: L.CRS.NonEarthCRS({
21+
bounds: L.bounds([48.4, -7668.25], [8958.85, -55.58]),
22+
origin: L.point(48.4, -55.58)
23+
}),
24+
center: [-3600, 5000],
25+
maxZoom: 18,
26+
zoom: 2
3027
});
28+
L.supermap.tiledMapLayer(baseUrl, { noWrap: true })
29+
.addTo(map)
30+
.once("load", function () {
31+
findPathProcess();
32+
});
3133

32-
function findPathProcess() {
33-
//添加站点
34-
var marker1 = L.marker([-3000, 4000]).addTo(map);
35-
marker1.bindPopup(resources.text_site1);
36-
var marker2 = L.marker([-2500, 5500]).addTo(map);
37-
marker2.bindPopup(resources.text_site2);
38-
var marker3 = L.marker([-4000, 6900]).addTo(map);
39-
marker3.bindPopup(resources.text_site3);
34+
function findPathProcess() {
35+
//添加站点
36+
var marker1 = L.marker([-3000, 4000]).addTo(map);
37+
marker1.bindPopup(resources.text_site1);
38+
var marker2 = L.marker([-2500, 5500]).addTo(map);
39+
marker2.bindPopup(resources.text_site2);
40+
var marker3 = L.marker([-4000, 6900]).addTo(map);
41+
marker3.bindPopup(resources.text_site3);
4042

41-
//创建最佳路径分析服务实例
42-
findPathService = L.supermap.networkAnalystService(serviceUrl);
43-
//创建最佳路径分析参数实例
44-
var resultSetting = new SuperMap.TransportationAnalystResultSetting({
45-
returnEdgeFeatures: true,
46-
returnEdgeGeometry: true,
47-
returnEdgeIDs: true,
48-
returnNodeFeatures: true,
49-
returnNodeGeometry: true,
50-
returnNodeIDs: true,
51-
returnPathGuides: true,
52-
returnRoutes: true
53-
});
54-
var analystParameter = new SuperMap.TransportationAnalystParameter({
55-
resultSetting: resultSetting,
56-
weightFieldName: "length"
57-
});
58-
findPathParameter = new SuperMap.FindPathParameters({
59-
isAnalyzeById: false,
60-
nodes: [L.latLng(-3000, 4000), L.latLng(-2500, 5500), L.latLng(-4000, 6900)],
61-
hasLeastEdgeCount: false,
62-
parameter: analystParameter
63-
});
64-
var myIcon = L.icon({
65-
iconUrl: "../img/walk.png",
66-
iconSize: [20, 20]
67-
});
68-
//进行查找
69-
findPathService.findPath(findPathParameter, function (serviceResult) {
70-
var result = serviceResult.result;
71-
result.pathList.map(function (result) {
72-
L.polyline(result.route).addTo(map);
73-
L.geoJSON(result.pathGuideItems, {
74-
pointToLayer: function (geoPoints, latlng) {
75-
L.marker(latlng, {icon: myIcon}).addTo(map);
76-
}
77-
}).addTo(map);
78-
})
79-
});
80-
}
81-
</script>
43+
//创建最佳路径分析服务实例
44+
findPathService = L.supermap.networkAnalystService(serviceUrl);
45+
//创建最佳路径分析参数实例
46+
var resultSetting = new SuperMap.TransportationAnalystResultSetting({
47+
returnEdgeFeatures: true,
48+
returnEdgeGeometry: true,
49+
returnEdgeIDs: true,
50+
returnNodeFeatures: true,
51+
returnNodeGeometry: true,
52+
returnNodeIDs: true,
53+
returnPathGuides: true,
54+
returnRoutes: true
55+
});
56+
var analystParameter = new SuperMap.TransportationAnalystParameter({
57+
resultSetting: resultSetting,
58+
weightFieldName: "length"
59+
});
60+
findPathParameter = new SuperMap.FindPathParameters({
61+
isAnalyzeById: false,
62+
nodes: [L.point(4000, -3000), L.point(5500, -2500), L.point(6900, -4000)],
63+
parameter: analystParameter
64+
});
65+
var myIcon = L.icon({
66+
iconUrl: "../img/walk.png",
67+
iconSize: [20, 20]
68+
});
69+
//进行查找
70+
findPathService.findPath(findPathParameter, function (serviceResult) {
71+
var result = serviceResult.result;
72+
result.pathList.map(function (result) {
73+
L.geoJSON(result.route).addTo(map);
74+
L.geoJSON(result.pathGuideItems, {
75+
pointToLayer: function (geoPoints, latlng) {
76+
L.marker(latlng, { icon: myIcon }).addTo(map);
77+
},
78+
filter: function (geoJsonFeature) {
79+
if (geoJsonFeature.geometry && geoJsonFeature.geometry.type === 'Point') {
80+
return true;
81+
}
82+
return false;
83+
}
84+
}).addTo(map);
85+
})
86+
});
87+
}
88+
</script>
8289
</body>
90+
8391
</html>

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy