@supermapgis/iclient-ol 11.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (91) hide show
  1. package/README.md +56 -0
  2. package/control/ChangeTileVersion.js +438 -0
  3. package/control/Logo.js +97 -0
  4. package/control/ScaleLine.js +164 -0
  5. package/control/index.js +6 -0
  6. package/core/MapExtend.js +49 -0
  7. package/core/StyleUtils.js +1253 -0
  8. package/core/Util.js +500 -0
  9. package/core/index.js +6 -0
  10. package/css/ChangeTileVersion.css +347 -0
  11. package/css/index.js +5 -0
  12. package/dist/iclient-openlayers-es6.js +124963 -0
  13. package/dist/iclient-openlayers-es6.min.js +8 -0
  14. package/dist/iclient-openlayers.css +668 -0
  15. package/dist/iclient-openlayers.js +142946 -0
  16. package/dist/iclient-openlayers.min.css +8 -0
  17. package/dist/iclient-openlayers.min.js +8 -0
  18. package/index.js +9 -0
  19. package/mapping/BaiduMap.js +121 -0
  20. package/mapping/ImageSuperMapRest.js +252 -0
  21. package/mapping/ImageTileSuperMapRest.js +99 -0
  22. package/mapping/InitMap.js +150 -0
  23. package/mapping/SuperMapCloud.js +56 -0
  24. package/mapping/Tianditu.js +152 -0
  25. package/mapping/TileSuperMapRest.js +374 -0
  26. package/mapping/WebMap.js +5485 -0
  27. package/mapping/index.js +11 -0
  28. package/mapping/webmap/Util.js +176 -0
  29. package/mapping/webmap/config/MunicipalCenter.json +1 -0
  30. package/mapping/webmap/config/ProvinceCenter.json +1 -0
  31. package/mapping/webmap/config/SampleDataInfo.json +55 -0
  32. package/namespace.js +150 -0
  33. package/overlay/DataFlow.js +114 -0
  34. package/overlay/FGB.js +100 -0
  35. package/overlay/Graph.js +439 -0
  36. package/overlay/GraphMap.js +140 -0
  37. package/overlay/Graphic.js +588 -0
  38. package/overlay/HeatMap.js +450 -0
  39. package/overlay/Label.js +966 -0
  40. package/overlay/Mapv.js +149 -0
  41. package/overlay/Range.js +129 -0
  42. package/overlay/RankSymbol.js +94 -0
  43. package/overlay/Turf.js +299 -0
  44. package/overlay/Unique.js +124 -0
  45. package/overlay/VectorTileSuperMapRest.js +501 -0
  46. package/overlay/graphic/CanvasRenderer.js +177 -0
  47. package/overlay/graphic/CloverShape.js +133 -0
  48. package/overlay/graphic/Graphic.js +174 -0
  49. package/overlay/graphic/HitCloverShape.js +64 -0
  50. package/overlay/graphic/WebGLRenderer.js +356 -0
  51. package/overlay/graphic/index.js +9 -0
  52. package/overlay/index.js +21 -0
  53. package/overlay/mapv/MapvCanvasLayer.js +104 -0
  54. package/overlay/mapv/MapvLayer.js +413 -0
  55. package/overlay/mapv/index.js +5 -0
  56. package/overlay/theme/GeoFeature.js +275 -0
  57. package/overlay/theme/Theme.js +587 -0
  58. package/overlay/theme/ThemeFeature.js +46 -0
  59. package/overlay/theme/index.js +6 -0
  60. package/overlay/vectortile/DeafultCanvasStyle.js +125 -0
  61. package/overlay/vectortile/MapboxStyles.js +377 -0
  62. package/overlay/vectortile/StyleMap.js +252 -0
  63. package/overlay/vectortile/VectorTileStyles.js +554 -0
  64. package/overlay/vectortile/index.js +7 -0
  65. package/overlay/vectortile/olExtends.js +382 -0
  66. package/package.json +30 -0
  67. package/services/AddressMatchService.js +60 -0
  68. package/services/ChartService.js +97 -0
  69. package/services/DataFlowService.js +119 -0
  70. package/services/DatasetService.js +104 -0
  71. package/services/DatasourceService.js +76 -0
  72. package/services/FeatureService.js +260 -0
  73. package/services/FieldService.js +53 -0
  74. package/services/GeoprocessingService.js +157 -0
  75. package/services/GridCellInfosService.js +53 -0
  76. package/services/ImageCollectionService.js +93 -0
  77. package/services/ImageService.js +70 -0
  78. package/services/KnowledgeGraphService.js +96 -0
  79. package/services/LayerInfoService.js +85 -0
  80. package/services/MapService.js +85 -0
  81. package/services/MeasureService.js +77 -0
  82. package/services/NetworkAnalyst3DService.js +93 -0
  83. package/services/NetworkAnalystService.js +268 -0
  84. package/services/ProcessingService.js +507 -0
  85. package/services/QueryService.js +116 -0
  86. package/services/ServiceBase.js +26 -0
  87. package/services/SpatialAnalystService.js +466 -0
  88. package/services/ThemeService.js +50 -0
  89. package/services/TrafficTransferAnalystService.js +93 -0
  90. package/services/WebPrintingJobService.js +112 -0
  91. package/services/index.js +27 -0
@@ -0,0 +1,77 @@
1
+ /* Copyright© 2000 - 2024 SuperMap Software Co.Ltd. All rights reserved.
2
+ * This program are made available under the terms of the Apache License, Version 2.0
3
+ * which accompanies this distribution and is available at http://www.apache.org/licenses/LICENSE-2.0.html.*/
4
+ import {Util} from '../core/Util';
5
+ import {ServiceBase} from './ServiceBase';
6
+ import { MeasureService as CommonMeasureService } from '@supermapgis/iclient-common/iServer/MeasureService';
7
+ import GeoJSON from 'ol/format/GeoJSON';
8
+
9
+ /**
10
+ * @class MeasureService
11
+ * @category iServer Map Measure
12
+ * @classdesc 量算服务类。提供方法:面积量算、距离量算等。
13
+ * @modulecategory Services
14
+ * @extends {ServiceBase}
15
+ * @param {string} url - 服务地址。如:http://localhost:8090/iserver/services/map-world/rest/maps/World+Map 。
16
+ * @param {Object} options - 参数。
17
+ * @param {string} [options.proxy] - 服务代理地址。
18
+ * @param {boolean} [options.withCredentials=false] - 请求是否携带 cookie。
19
+ * @param {boolean} [options.crossOrigin] - 是否允许跨域请求。
20
+ * @param {Object} [options.headers] - 请求头。
21
+ * @usage
22
+ */
23
+ export class MeasureService extends ServiceBase {
24
+
25
+ constructor(url, options) {
26
+ super(url, options);
27
+ }
28
+
29
+ /**
30
+ * @function MeasureService.prototype.measureDistance
31
+ * @description 距离量算。
32
+ * @param {MeasureParameters} params - 量算参数类。
33
+ * @param {RequestCallback} [callback] 回调函数,该参数未传时可通过返回的 promise 获取结果。
34
+ * @returns {Promise} Promise 对象。
35
+ */
36
+ measureDistance(params, callback) {
37
+ return this.measure(params, 'DISTANCE', callback);
38
+ }
39
+
40
+ /**
41
+ * @function MeasureService.prototype.measureArea
42
+ * @description 面积量算。
43
+ * @param {MeasureParameters} params - 量算参数类。
44
+ * @param {RequestCallback} [callback] 回调函数,该参数未传时可通过返回的 promise 获取结果。
45
+ * @returns {Promise} Promise 对象。
46
+ */
47
+ measureArea(params, callback) {
48
+ return this.measure(params, 'AREA', callback);
49
+ }
50
+
51
+ /**
52
+ * @function MeasureService.prototype.measure
53
+ * @description 测量。
54
+ * @param {MeasureParameters} params - 量算参数类。
55
+ * @param {string} type - 类型。
56
+ * @param {RequestCallback} [callback] 回调函数,该参数未传时可通过返回的 promise 获取结果。
57
+ * @returns {Promise} Promise 对象。
58
+ */
59
+ measure(params, type, callback) {
60
+ var me = this;
61
+ var measureService = new CommonMeasureService(me.url, {
62
+ proxy: me.options.proxy,
63
+ withCredentials: me.options.withCredentials,
64
+ crossOrigin: me.options.crossOrigin,
65
+ headers: me.options.headers,
66
+ measureMode: type
67
+ });
68
+ return measureService.processAsync(me._processParam(params), callback);
69
+ }
70
+
71
+ _processParam(params) {
72
+ if (params && params.geometry) {
73
+ params.geometry = Util.toSuperMapGeometry(JSON.parse((new GeoJSON()).writeGeometry(params.geometry)));
74
+ }
75
+ return params;
76
+ }
77
+ }
@@ -0,0 +1,93 @@
1
+ /* Copyright© 2000 - 2024 SuperMap Software Co.Ltd. All rights reserved.
2
+ * This program are made available under the terms of the Apache License, Version 2.0
3
+ * which accompanies this distribution and is available at http://www.apache.org/licenses/LICENSE-2.0.html.*/
4
+ import {ServiceBase} from './ServiceBase';
5
+ import { NetworkAnalyst3DService as CommonNetworkAnalyst3DService } from '@supermapgis/iclient-common/iServer/NetworkAnalyst3DService';
6
+ /**
7
+ * @class NetworkAnalyst3DService
8
+ * @category iServer FacilityAnalyst3D
9
+ * @classdesc 3D 网络分析服务类。提供方法:汇查找、源查找、下游追踪资源、上游追踪资源、上游关键设施查找等。
10
+ * @modulecategory Services
11
+ * @extends {ServiceBase}
12
+ * @example
13
+ * new NetworkAnalyst3DService(url).sinksFacilityAnalyst(params,function(result){
14
+ * //doSomething
15
+ * })
16
+ * @param {string} url - 网络分析服务地址。请求网络分析服务,URL 应为:
17
+ * http://{服务器地址}:{服务端口号}/iserver/services/{网络分析服务名}/rest/networkanalyst/{网络数据集@数据源};
18
+ * 例如:"http://localhost:8090/iserver/services/components-rest/rest/networkanalyst/RoadNet@Changchun"。
19
+ * @param {Object} options - 参数。
20
+ * @param {string} [options.proxy] - 服务代理地址。
21
+ * @param {boolean} [options.withCredentials=false] - 请求是否携带 cookie。
22
+ * @param {boolean} [options.crossOrigin] - 是否允许跨域请求。
23
+ * @param {Object} [options.headers] - 请求头。
24
+ * @usage
25
+ */
26
+ export class NetworkAnalyst3DService extends ServiceBase {
27
+
28
+ constructor(url, options) {
29
+ super(url, options);
30
+ this._networkAnalyst3DService = new CommonNetworkAnalyst3DService(url, options);
31
+ }
32
+
33
+ /**
34
+ * @function NetworkAnalyst3DService.prototype.sinksFacilityAnalyst
35
+ * @description 汇查找服务。<br>
36
+ * 汇查找是指即从给定弧段或节点出发,根据流向查找流出该弧段或节点的下游汇点,并返回给定弧段或节点到达该汇的最小耗费路径所包含的弧段、结点及耗费。
37
+ * @param {FacilityAnalystSinks3DParameters} params- 汇查找资源参数类。
38
+ * @param {RequestCallback} [callback] 回调函数,该参数未传时可通过返回的 promise 获取结果。
39
+ * @returns {NetworkAnalyst3DService} 3D 网络分析服务。
40
+ */
41
+ sinksFacilityAnalyst(params, callback) {
42
+ return this._networkAnalyst3DService.sinksFacilityAnalyst(params, callback);
43
+ }
44
+
45
+ /**
46
+ * @function NetworkAnalyst3DService.prototype.sourcesFacilityAnalyst
47
+ * @description 源查找服务。<br>
48
+ * 源查找是根据流向查找流向指定弧段或节点的网络源头,并返回该源到达指定弧段或结点的最小耗费路径所包含的弧段、结点及耗费。
49
+ * @param {FacilityAnalystSources3DParameters} params - 源查找资源参数类。
50
+ * @param {RequestCallback} [callback] 回调函数,该参数未传时可通过返回的 promise 获取结果。
51
+ * @returns {NetworkAnalyst3DService} 3D 网络分析服务。
52
+ */
53
+ sourcesFacilityAnalyst(params, callback) {
54
+ return this._networkAnalyst3DService.sourcesFacilityAnalyst(params, callback);
55
+ }
56
+
57
+ /**
58
+ * @function NetworkAnalyst3DService.prototype.traceUpFacilityAnalyst
59
+ * @description 上游追踪资源服务。<br>
60
+ * 上游追踪分析是指根据给定的弧段 ID 或结点 ID 进行上游追踪,即查找给定弧段的上游,返回上游包含的弧段、结点及总耗费。
61
+ * @param {FacilityAnalystTraceup3DParameters} params - 上游追踪资源参数类。
62
+ * @param {RequestCallback} [callback] 回调函数,该参数未传时可通过返回的 promise 获取结果。
63
+ * @returns {NetworkAnalyst3DService} 3D 网络分析服务。
64
+ */
65
+
66
+ traceUpFacilityAnalyst(params, callback) {
67
+ return this._networkAnalyst3DService.traceUpFacilityAnalyst(params, callback);
68
+ }
69
+
70
+ /**
71
+ * @function NetworkAnalyst3DService.prototype.traceDownFacilityAnalyst
72
+ * @description 下游追踪资源服务。<br>
73
+ * 下游追踪分析是指根据给定的弧段 ID 或结点 ID 进行下游追踪,即查找给定弧段的下游,返回下游包含的弧段、结点及总耗费。
74
+ * @param {FacilityAnalystTracedown3DParameters} params - 下游追踪资源服务参数类。
75
+ * @param {RequestCallback} [callback] 回调函数,该参数未传时可通过返回的 promise 获取结果。
76
+ * @returns {NetworkAnalyst3DService} 3D 网络分析服务。
77
+ */
78
+ traceDownFacilityAnalyst(params, callback) {
79
+ return this._networkAnalyst3DService.traceDownFacilityAnalyst(params, callback);
80
+ }
81
+
82
+ /**
83
+ * @function NetworkAnalyst3DService.prototype.upstreamFacilityAnalyst
84
+ * @description 上游关键设施查找服务。<br>
85
+ * 上游关键设施查找即查找给定弧段或节点的上游中的关键设施结点,返回关键设施结点 ID 数组及其下游弧段 ID 数组。
86
+ * @param {FacilityAnalystUpstream3DParameters} params - 上游关键设施查找服务参数类。
87
+ * @param {RequestCallback} [callback] 回调函数,该参数未传时可通过返回的 promise 获取结果。
88
+ * @returns {NetworkAnalyst3DService} 3D 网络分析服务。
89
+ */
90
+ upstreamFacilityAnalyst(params, callback) {
91
+ return this._networkAnalyst3DService.upstreamFacilityAnalyst(params, callback);
92
+ }
93
+ }
@@ -0,0 +1,268 @@
1
+ /* Copyright© 2000 - 2024 SuperMap Software Co.Ltd. All rights reserved.
2
+ * This program are made available under the terms of the Apache License, Version 2.0
3
+ * which accompanies this distribution and is available at http://www.apache.org/licenses/LICENSE-2.0.html.*/
4
+ import { DataFormat } from '@supermapgis/iclient-common/REST';
5
+ import { NetworkAnalystService as CommonNetworkAnalystService } from '@supermapgis/iclient-common/iServer/NetworkAnalystService';
6
+ import {Util} from '../core/Util';
7
+ import {ServiceBase} from './ServiceBase';
8
+ import Point from 'ol/geom/Point';
9
+
10
+ /**
11
+ * @class NetworkAnalystService
12
+ * @category iServer NetworkAnalyst
13
+ * @classdesc 网络分析服务类。提供方法:爆管分析、最近设施分析、选址分区分析、旅行商分析、多旅行商分析、最佳路径分析、
14
+ * 服务区分析、上游/下游关键设施查找、耗费矩阵计算、边的耗费权重更新、转向耗费权重更新等。
15
+ * @modulecategory Services
16
+ * @extends {ServiceBase}
17
+ * @example
18
+ * new NetworkAnalystService(url).findPath(params,function(result){
19
+ * //doSomething
20
+ * })
21
+ * @param {string} url - 网络分析服务地址。请求网络分析服务,URL 应为:
22
+ * http://{服务器地址}:{服务端口号}/iserver/services/{网络分析服务名}/rest/networkanalyst/{网络数据集@数据源};<br>
23
+ * 例如: "http://localhost:8090/iserver/services/test/rest/networkanalyst/WaterNet@FacilityNet"。
24
+ * @param {Object} options - 参数。
25
+ * @param {string} [options.proxy] - 服务代理地址。
26
+ * @param {boolean} [options.withCredentials=false] - 请求是否携带 cookie。
27
+ * @param {boolean} [options.crossOrigin] - 是否允许跨域请求。
28
+ * @param {Object} [options.headers] - 请求头。
29
+ * @usage
30
+ */
31
+ export class NetworkAnalystService extends ServiceBase {
32
+
33
+ constructor(url, options) {
34
+ super(url, options);
35
+ this._networkAnalystService = new CommonNetworkAnalystService(url, options);
36
+ }
37
+
38
+ /**
39
+ * @function NetworkAnalystService.prototype.burstPipelineAnalyst
40
+ * @description 爆管分析服务。<br>
41
+ * 可应用于查找爆管点上游或下游最近的阀门位置(关键设施点),根据管道流向指示,
42
+ * 迅速找到上游中需要关闭的最临近且最少数量的阀门。关闭这些阀门后,爆裂管段与它的上游不再连通,从而阻止水的流出,
43
+ * 防止灾情加重和资源浪费。爆管分析的结果将给出影响爆管位置上下游的关键设施点和弧段、受爆管位置影响的上下游的普通设施点和弧段,
44
+ * 即返回关键结点 ID 数组,普通结点 ID 数组及其上下游弧段 ID 数组。
45
+ * @param {BurstPipelineAnalystParameters} params - 爆管分析服务参数类。
46
+ * @param {RequestCallback} [callback] 回调函数,该参数未传时可通过返回的 promise 获取结果。
47
+ */
48
+ burstPipelineAnalyst(params, callback) {
49
+ params = this._processParams(params);
50
+ return this._networkAnalystService.burstPipelineAnalyst(params, callback);
51
+ }
52
+
53
+ /**
54
+ * @function NetworkAnalystService.prototype.computeWeightMatrix
55
+ * @description 耗费矩阵分析服务。<br>
56
+ * 根据交通网络分析参数中的耗费字段返回一个耗费矩阵。该矩阵是一个二维数组,用来存储任意两点间的资源消耗。
57
+ * @param {ComputeWeightMatrixParameters} params - 耗费矩阵分析服务参数类。
58
+ * @param {RequestCallback} [callback] 回调函数,该参数未传时可通过返回的 promise 获取结果。
59
+ */
60
+ computeWeightMatrix(params, callback) {
61
+ params = this._processParams(params);
62
+ return this._networkAnalystService.computeWeightMatrix(params, callback);
63
+ }
64
+
65
+ /**
66
+ * @function NetworkAnalystService.prototype.findClosestFacilities
67
+ * @description 最近设施分析服务。<br>
68
+ * 指在网络上给定一个事件点和一组设施点,查找从事件点到设施点(或从设施点到事件点)以最小耗费能到达的最佳路径。
69
+ * @param {FindClosestFacilitiesParameters} params - 最近设施分析服务参数类。
70
+ * @param {RequestCallback} [callback] 回调函数,该参数未传时可通过返回的 promise 获取结果。
71
+ * @param {DataFormat} [resultFormat=DataFormat.GEOJSON] - 返回的结果类型。
72
+ */
73
+ findClosestFacilities(params, callback, resultFormat) {
74
+ params = this._processParams(params);
75
+ return this._networkAnalystService.findClosestFacilities(params, callback, resultFormat);
76
+ }
77
+
78
+ /**
79
+ * @function NetworkAnalystService.prototype.traceAnalyst
80
+ * @description 上游/下游 追踪分析服务。<br>
81
+ * 查找给定弧段或节点的上游/下游弧段和结点。
82
+ * @version 11.1.1
83
+ * @param {TraceAnalystParameters} params - 上游/下游 追踪分析服务参数类。
84
+ * @param {RequestCallback} [callback] 回调函数,该参数未传时可通过返回的 promise 获取结果。
85
+ * @param {DataFormat} [resultFormat=DataFormat.GEOJSON] - 返回的结果类型。
86
+ * @returns {Promise} Promise 对象。
87
+ */
88
+ traceAnalyst(params, callback, resultFormat) {
89
+ params = this._processParams(params);
90
+ return this._networkAnalystService.traceAnalyst(params, callback, resultFormat);
91
+ }
92
+
93
+ /**
94
+ * @function NetworkAnalystService.prototype.connectedEdgesAnalyst
95
+ * @description 连通性分析服务。<br>
96
+ * 根据给定的弧段 ID 数组或结点 ID 数组,查找与这些弧段或结点相连通或不连通的弧段,返回弧段 ID 数组或结点 ID 数组。
97
+ * @version 11.1.1
98
+ * @param {ConnectedEdgesAnalystParameters} params - 连通性分析服务参数类。
99
+ * @param {RequestCallback} [callback] 回调函数,该参数未传时可通过返回的 promise 获取结果。
100
+ * @param {DataFormat} [resultFormat=DataFormat.GEOJSON] - 返回的结果类型。
101
+ * @returns {Promise} Promise 对象。
102
+ */
103
+ connectedEdgesAnalyst(params, callback, resultFormat) {
104
+ params = this._processParams(params);
105
+ return this._networkAnalystService.connectedEdgesAnalyst(params, callback, resultFormat);
106
+ }
107
+
108
+ /**
109
+ * @function NetworkAnalystService.prototype.streamFacilityAnalyst
110
+ * @description 上游/下游 关键设施查找资源服务。<br>
111
+ * 查找给定弧段或节点的上游/下游中的关键设施结点,返回关键结点 ID 数组及其下游弧段 ID 数组。
112
+ * @param {FacilityAnalystStreamParameters} params - 上游/下游 关键设施查找资源服务参数类。
113
+ * @param {RequestCallback} [callback] 回调函数,该参数未传时可通过返回的 promise 获取结果。
114
+ * @param {DataFormat} [resultFormat=DataFormat.GEOJSON] - 返回的结果类型。
115
+ */
116
+ streamFacilityAnalyst(params, callback, resultFormat) {
117
+ params = this._processParams(params);
118
+ return this._networkAnalystService.streamFacilityAnalyst(params, callback, resultFormat);
119
+ }
120
+
121
+ /**
122
+ * @function NetworkAnalystService.prototype.findLocation
123
+ * @description 选址分区分析服务。<br>
124
+ * 确定一个或多个待建设施的最佳或最优位置,使得设施可以用一种最经济有效的方式为需求方提供服务或者商品。
125
+ * 选址分区既有选址过程,也有资源分配过程,也就是将需求点的需求分配到相应的新建设施的服务区中。
126
+ * @param {FindLocationParameters} params - 选址分区分析服务参数类。
127
+ * @param {RequestCallback} [callback] 回调函数,该参数未传时可通过返回的 promise 获取结果。
128
+ * @param {DataFormat} [resultFormat=DataFormat.GEOJSON] - 返回的结果类型。
129
+ */
130
+ findLocation(params, callback, resultFormat) {
131
+ params = this._processParams(params);
132
+ return this._networkAnalystService.findLocation(params, callback, resultFormat);
133
+ }
134
+
135
+ /**
136
+ * @function NetworkAnalystService.prototype.findPath
137
+ * @description 最佳路径分析服务。<br>
138
+ * 在网络数据集中指定一些节点,按照节点的选择顺序,顺序访问这些节点从而求解起止点之间阻抗最小的路经。
139
+ * @param {FindPathParameters} params - 最佳路径分析服务参数类。
140
+ * @param {RequestCallback} [callback] 回调函数,该参数未传时可通过返回的 promise 获取结果。
141
+ * @param {DataFormat} [resultFormat=DataFormat.GEOJSON] - 返回的结果类型。
142
+ */
143
+ findPath(params, callback, resultFormat) {
144
+ params = this._processParams(params);
145
+ return this._networkAnalystService.findPath(params, callback, resultFormat);
146
+ }
147
+
148
+ /**
149
+ * @function NetworkAnalystService.prototype.findTSPPaths
150
+ * @description 旅行商分析服务。<br>
151
+ * 路径分析的一种,它从起点开始(默认为用户指定的第一点)查找能够遍历所有途经点且花费最小的路径。
152
+ * @param {FindTSPPathsParameters} params - 旅行商分析服务参数类。
153
+ * @param {RequestCallback} [callback] 回调函数,该参数未传时可通过返回的 promise 获取结果。
154
+ * @param {DataFormat} [resultFormat=DataFormat.GEOJSON] - 返回的结果类型。
155
+ */
156
+ findTSPPaths(params, callback, resultFormat) {
157
+ params = this._processParams(params);
158
+ return this._networkAnalystService.findTSPPaths(params, callback, resultFormat);
159
+ }
160
+
161
+ /**
162
+ * @function NetworkAnalystService.prototype.findMTSPPaths
163
+ * @description 多旅行商分析服务。<br>
164
+ * 多旅行商分析也称为物流配送,是指在网络数据集中,给定 M 个配送中心点和 N 个配送目的地(M,N 为大于零的整数)。查找经济有效的配送路径,并给出相应的行走路线。
165
+ * @param {FindMTSPPathsParameters} params - 多旅行商分析服务参数类。
166
+ * @param {RequestCallback} [callback] 回调函数,该参数未传时可通过返回的 promise 获取结果。
167
+ * @param {DataFormat} [resultFormat=DataFormat.GEOJSON] - 返回的结果类型。
168
+ */
169
+ findMTSPPaths(params, callback, resultFormat) {
170
+ params = this._processParams(params);
171
+ return this._networkAnalystService.findMTSPPaths(params, callback, resultFormat);
172
+ }
173
+
174
+ /**
175
+ * @function NetworkAnalystService.prototype.findServiceAreas
176
+ * @description 服务区分析服务。<br>
177
+ * 以指定服务站点为中心,在一定服务范围内查找网络上服务站点能够提供服务的区域范围。
178
+ * @param {FindServiceAreasParameters} params - 服务区分析服务参数类。
179
+ * @param {RequestCallback} [callback] 回调函数,该参数未传时可通过返回的 promise 获取结果。
180
+ * @param {DataFormat} [resultFormat=DataFormat.GEOJSON] - 返回的结果类型。
181
+ */
182
+ findServiceAreas(params, callback, resultFormat) {
183
+ params = this._processParams(params);
184
+ return this._networkAnalystService.findServiceAreas(params, callback, resultFormat);
185
+ }
186
+
187
+ /**
188
+ * @function NetworkAnalystService.prototype.updateEdgeWeight
189
+ * @description 更新边的耗费权重服务。边的耗费权重又称弧段权值。
190
+ * @param {UpdateEdgeWeightParameters} params - 更新边的耗费权重服务参数类。
191
+ * @param {RequestCallback} [callback] 回调函数,该参数未传时可通过返回的 promise 获取结果。
192
+ */
193
+ updateEdgeWeight(params, callback) {
194
+ return this._networkAnalystService.updateEdgeWeight(params, callback);
195
+ }
196
+
197
+ /**
198
+ * @function NetworkAnalystService.prototype.updateTurnNodeWeight
199
+ * @description 更新转向耗费权重服务。转向耗费权重又称转向结点权值。
200
+ * @param {UpdateTurnNodeWeightParameters} params - 更新转向耗费权重服务参数类。
201
+ * @param {RequestCallback} [callback] 回调函数,该参数未传时可通过返回的 promise 获取结果。
202
+ */
203
+ updateTurnNodeWeight(params, callback) {
204
+ return this._networkAnalystService.updateTurnNodeWeight(params, callback);
205
+ }
206
+
207
+ _processParams(params) {
208
+ if (!params) {
209
+ return {};
210
+ }
211
+ if (params.centers && Util.isArray(params.centers)) {
212
+ params.centers.map(function (point, key) {
213
+ params.centers[key] = (point instanceof Point) ? {
214
+ x: point.getCoordinates()[0],
215
+ y: point.getCoordinates()[1]
216
+ } : point;
217
+ return params.centers[key];
218
+ });
219
+ }
220
+
221
+ if (params.nodes && Util.isArray(params.nodes)) {
222
+ params.nodes.map(function (point, key) {
223
+ params.nodes[key] = (point instanceof Point) ? {
224
+ x: point.getCoordinates()[0],
225
+ y: point.getCoordinates()[1]
226
+ } : point;
227
+ return params.nodes[key];
228
+ });
229
+ }
230
+
231
+ if (params.event && params.event instanceof Point) {
232
+ params.event = {x: params.event.getCoordinates()[0], y: params.event.getCoordinates()[1]};
233
+ }
234
+
235
+ if (params.facilities && Util.isArray(params.facilities)) {
236
+ params.facilities.map(function (point, key) {
237
+ params.facilities[key] = (point instanceof Point) ? {
238
+ x: point.getCoordinates()[0],
239
+ y: point.getCoordinates()[1]
240
+ } : point;
241
+ return params.facilities[key];
242
+ });
243
+ }
244
+ if (params.parameter && params.parameter.barrierPoints) {
245
+ var barrierPoints = params.parameter.barrierPoints;
246
+ if (Util.isArray(barrierPoints)) {
247
+ barrierPoints.map(function (point, key) {
248
+ params.parameter.barrierPoints[key] = (point instanceof Point) ? {
249
+ x: point.getCoordinates()[0],
250
+ y: point.getCoordinates()[1]
251
+ } : point;
252
+ return params.parameter.barrierPoints[key];
253
+ });
254
+ } else {
255
+ params.parameter.barrierPoints = [(barrierPoints instanceof Point) ? {
256
+ x: barrierPoints.getCoordinates()[0],
257
+ y: barrierPoints.getCoordinates()[1]
258
+ } : barrierPoints];
259
+ }
260
+ }
261
+ return params;
262
+
263
+ }
264
+
265
+ _processFormat(resultFormat) {
266
+ return (resultFormat) ? resultFormat : DataFormat.GEOJSON;
267
+ }
268
+ }