@supermapgis/vue-iclient-leaflet 11.2.0 → 11.3.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 (174) hide show
  1. package/dist/iclient-leaflet-vue.css +23 -9
  2. package/dist/iclient-leaflet-vue.js +21687 -44393
  3. package/dist/iclient-leaflet-vue.min.css +2 -2
  4. package/dist/iclient-leaflet-vue.min.js +39 -293
  5. package/lib/_assets/iconfont/icon-sm-components.css +21 -7
  6. package/lib/_assets/iconfont/icon-sm-components.ttf +0 -0
  7. package/lib/_assets/iconfont/icon-sm-components.woff +0 -0
  8. package/lib/_assets/iconfont/icon-sm-components.woff2 +0 -0
  9. package/lib/_lang/en.js +21 -9
  10. package/lib/_lang/index.js +22 -22
  11. package/lib/_lang/zh.js +21 -9
  12. package/lib/_mixin/AntdRender.js +15 -17
  13. package/lib/_mixin/Card.js +10 -11
  14. package/lib/_mixin/GridLayer.js +4 -4
  15. package/lib/_mixin/Layer.js +4 -4
  16. package/lib/_mixin/Options.js +2 -2
  17. package/lib/_mixin/Popper.js +2 -2
  18. package/lib/_mixin/Theme.js +13 -15
  19. package/lib/_mixin/ThirdService.js +15 -16
  20. package/lib/_mixin/TileLayer.js +4 -4
  21. package/lib/_mixin/Timer.js +8 -9
  22. package/lib/_mixin/VmUpdater.js +10 -11
  23. package/lib/_mixin/map-events.js +8 -9
  24. package/lib/_mixin/map-getter.js +13 -14
  25. package/lib/_types/AddressMatchParameter.js +2 -2
  26. package/lib/_types/GeoJSONParamter.js +2 -2
  27. package/lib/_types/RestDataParameter.js +5 -6
  28. package/lib/_types/RestMapParameter.js +5 -6
  29. package/lib/_types/RestParameter.js +2 -2
  30. package/lib/_types/event/BaseTypes.js +2 -2
  31. package/lib/_types/event/Event.js +4 -4
  32. package/lib/_types/event/Events.js +10 -10
  33. package/lib/_types/event/Pixel.js +2 -2
  34. package/lib/_types/event/Util.js +2 -2
  35. package/lib/_types/iPortalDataParameter.js +3 -2
  36. package/lib/_types/iServerBaseParameter.js +3 -2
  37. package/lib/_types/iServerDataParameter.js +5 -6
  38. package/lib/_types/iServerMapParameter.js +5 -6
  39. package/lib/_types/index.js +18 -18
  40. package/lib/_types/map-event.js +6 -6
  41. package/lib/_utils/EchartsDataService.js +24 -24
  42. package/lib/_utils/RestService.js +1345 -1149
  43. package/lib/_utils/epsg-define.js +45 -34
  44. package/lib/_utils/get-features.js +23 -10
  45. package/lib/_utils/global-event.js +6 -6
  46. package/lib/_utils/iPortalDataService.js +1368 -1147
  47. package/lib/_utils/iServerRestService.js +1527 -1278
  48. package/lib/_utils/props-binder.js +2 -2
  49. package/lib/_utils/statistics.js +8 -17
  50. package/lib/_utils/style/color/colorPalette.js +4 -4
  51. package/lib/_utils/style/color/serialColors.js +8 -8
  52. package/lib/_utils/style/theme/chart.js +1344 -1147
  53. package/lib/_utils/style/theme/set-theme.js +10 -10
  54. package/lib/_utils/style/theme/theme.json +6 -6
  55. package/lib/_utils/util.js +12 -12
  56. package/lib/_utils/vue-types/utils.js +2 -2
  57. package/lib/attribute-panel/style/attribute-panel.css +1 -0
  58. package/lib/attribute-panel/style/css.js +7 -0
  59. package/lib/attribute-panel/style/index.js +7 -0
  60. package/lib/avatar/index.js +25 -25
  61. package/lib/border/index.js +77 -77
  62. package/lib/breadcrumb/index.js +47 -41
  63. package/lib/button/index.js +53 -50
  64. package/lib/card/index.js +47 -41
  65. package/lib/chart/index.js +1441 -1242
  66. package/lib/checkbox/index.js +36 -33
  67. package/lib/collapse/index.js +39 -36
  68. package/lib/collapse-card/index.js +71 -76
  69. package/lib/color-picker/index.js +48 -49
  70. package/lib/date-picker/index.js +107 -95
  71. package/lib/dropdown/index.js +27 -27
  72. package/lib/empty/index.js +27 -27
  73. package/lib/icon/index.js +25 -25
  74. package/lib/identify/index.js +67 -68
  75. package/lib/iframe/index.js +31 -31
  76. package/lib/image/index.js +226 -42
  77. package/lib/image/style/image.css +1 -1
  78. package/lib/index.js +4 -4
  79. package/lib/indicator/index.js +70 -67
  80. package/lib/init.js +8 -8
  81. package/lib/input/index.js +150 -135
  82. package/lib/input-number/index.js +100 -97
  83. package/lib/layout/index.js +72 -60
  84. package/lib/liquid-fill/index.js +73 -73
  85. package/lib/marker/index.js +45 -46
  86. package/lib/menu/index.js +47 -41
  87. package/lib/message/index.js +3 -3
  88. package/lib/message/style/message.css +1 -1
  89. package/lib/modal/index.js +67 -67
  90. package/lib/modal/style/modal.css +1 -1
  91. package/lib/notification/index.js +6 -6
  92. package/lib/notification/style/notification.css +1 -1
  93. package/lib/pagination/index.js +34 -34
  94. package/lib/popup/index.js +47 -48
  95. package/lib/progress/index.js +440 -440
  96. package/lib/radio/index.js +48 -42
  97. package/lib/select/index.js +47 -41
  98. package/lib/slider/index.js +27 -27
  99. package/lib/slideshow/index.js +103 -160
  100. package/lib/spin/index.js +30 -30
  101. package/lib/steps/index.js +35 -32
  102. package/lib/switch/index.js +25 -25
  103. package/lib/table/index.js +50 -44
  104. package/lib/table/style/table.css +1 -1
  105. package/lib/table-popup/index.js +43 -37
  106. package/lib/table-popup/style/table-popup.css +1 -1
  107. package/lib/tabs/index.js +35 -32
  108. package/lib/text/index.js +39 -39
  109. package/lib/tile-layer/index.js +37 -38
  110. package/lib/time-line/index.js +41 -43
  111. package/lib/time-picker/index.js +27 -27
  112. package/lib/time-range/index.js +47 -49
  113. package/lib/time-slider/index.js +67 -69
  114. package/lib/time-text/index.js +31 -31
  115. package/lib/tooltip/index.js +25 -25
  116. package/lib/tooltip/style/tooltip.css +1 -0
  117. package/lib/transfer/index.js +27 -27
  118. package/lib/tree/index.js +48 -42
  119. package/lib/tree-select/index.js +37 -34
  120. package/lib/video-player/index.js +102 -151
  121. package/lib/video-player/style/video-player.css +1 -1
  122. package/lib/web-map/index.js +2339 -106
  123. package/package.json +3 -5
  124. package/src/common/_assets/iconfont/icon-sm-components.css +21 -7
  125. package/src/common/_assets/iconfont/icon-sm-components.ttf +0 -0
  126. package/src/common/_assets/iconfont/icon-sm-components.woff +0 -0
  127. package/src/common/_assets/iconfont/icon-sm-components.woff2 +0 -0
  128. package/src/common/_lang/en.js +19 -8
  129. package/src/common/_lang/zh.js +19 -7
  130. package/src/common/_mixin/Card.ts +1 -1
  131. package/src/common/_types/iPortalDataParameter.js +1 -0
  132. package/src/common/_types/iServerBaseParameter.ts +3 -0
  133. package/src/common/_utils/epsg-define.js +32 -27
  134. package/src/common/_utils/get-features.js +13 -2
  135. package/src/common/_utils/iPortalDataService.js +14 -3
  136. package/src/common/_utils/iServerRestService.js +144 -78
  137. package/src/common/_utils/statistics.js +6 -14
  138. package/src/common/_utils/style/theme/theme.json +6 -6
  139. package/src/common/attribute-panel/AttributePanel.vue +58 -0
  140. package/src/common/attribute-panel/__test__/AttributePanel.spec.js +39 -0
  141. package/src/common/attribute-panel/index.js +9 -0
  142. package/src/common/attribute-panel/style/attribute-panel.scss +35 -0
  143. package/src/common/attribute-panel/style/index.js +4 -0
  144. package/src/common/collapse-card/style/collapse-card.scss +2 -2
  145. package/src/common/iframe/Iframe.vue +1 -1
  146. package/src/common/image/Image.vue +68 -6
  147. package/src/common/image/style/image.scss +32 -0
  148. package/src/common/message/style/message.scss +1 -0
  149. package/src/common/modal/style/modal.scss +36 -0
  150. package/src/common/notification/style/notification.scss +9 -0
  151. package/src/common/slideshow/Slideshow.vue +42 -95
  152. package/src/common/slideshow/Swiper.js +1 -1
  153. package/src/common/table/style/table.scss +36 -0
  154. package/src/common/table-popup/TablePopup.vue +5 -0
  155. package/src/common/tooltip/style/tooltip.scss +3 -0
  156. package/src/common/video-player/VideoPlayer.vue +4 -41
  157. package/src/common/video-player/style/video-player.scss +1 -1
  158. package/src/leaflet/entrys.json +0 -2
  159. package/src/leaflet/package.json +3 -5
  160. package/src/leaflet/web-map/WebMap.vue +4 -4
  161. package/src/leaflet/web-map/WebMapViewModel.ts +64 -17
  162. package/static/libs/iclient-common/iclient-common-webmapv2base.js +2 -0
  163. package/static/libs/iclient-common/iclient-common.js +1 -1
  164. package/static/libs/iclient-leaflet/iclient-leaflet.min.js +5 -1738
  165. package/lib/_assets/iconfont/icon-sm-components.eot +0 -0
  166. package/lib/_assets/iconfont/icon-sm-components.svg +0 -197
  167. package/lib/_mixin/WebMapBase.js +0 -3467
  168. package/lib/_utils/WebMapService.js +0 -1607
  169. package/src/common/_assets/iconfont/icon-sm-components.eot +0 -0
  170. package/src/common/_assets/iconfont/icon-sm-components.svg +0 -197
  171. package/src/common/_utils/WebMapService.ts +0 -1292
  172. package/src/common/web-map/WebMapBase.ts +0 -1178
  173. package/src/common/web-map/config/MunicipalCenter.json +0 -1
  174. package/src/common/web-map/config/ProvinceCenter.json +0 -1
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@supermapgis/vue-iclient-leaflet",
3
3
  "description": "SuperMap iClient for Vue.js",
4
- "version": "11.2.0",
4
+ "version": "11.3.0",
5
5
  "homepage": "http://iclient.supermap.io",
6
6
  "main": "lib/index",
7
7
  "dependencies": {
@@ -13,12 +13,11 @@
13
13
  "@turf/length": "^6.0.2",
14
14
  "@turf/rhumb-bearing": "^6.0.1",
15
15
  "@turf/transform-scale": "^5.1.5",
16
- "@turf/meta": "^6.5.0",
17
16
  "@types/geojson": "^7946.0.7",
18
17
  "@types/leaflet": "^1.5.5",
19
18
  "@types/node": "^12.0.3",
20
19
  "ant-design-vue": "1.7.2",
21
- "axios": "^1.6.2",
20
+ "axios": "^1.7.4",
22
21
  "canvg": "~3.0.10",
23
22
  "clipboard": "^2.0.6",
24
23
  "colorcolor": "^1.1.1",
@@ -40,14 +39,13 @@
40
39
  "lodash.isnumber": "^3.0.3",
41
40
  "lodash.isplainobject": "^4.0.6",
42
41
  "lodash.max": "^4.0.1",
43
- "lodash.min": "^4.0.1",
44
42
  "lodash.merge": "^4.6.1",
45
43
  "lodash.orderby": "^4.6.0",
46
44
  "lodash.tonumber": "^4.0.3",
47
45
  "lodash.uniqueid": "^4.0.1",
48
46
  "mux.js": "^5.6.7",
49
47
  "omit.js": "^2.0.2",
50
- "proj4": "^2.6.0",
48
+ "proj4": "^2.8.0",
51
49
  "resize-detector": "^0.2.0",
52
50
  "simple-statistics": "^7.8.3",
53
51
  "swiper": "^6.8.4",
@@ -1,10 +1,8 @@
1
- @font-face {font-family: "sm-components-icon-";
2
- src: url('icon-sm-components.eot?t=1617681183966'); /* IE9 */
3
- src: url('icon-sm-components.eot?t=1617681183966#iefix') format('embedded-opentype'), /* IE6-IE8 */
4
- url('data:application/x-font-woff2;charset=utf-8;base64,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') format('woff2'),
5
- url('icon-sm-components.woff?t=1617681183966') format('woff'),
6
- url('icon-sm-components.ttf?t=1617681183966') format('truetype'), /* chrome, firefox, opera, Safari, Android, iOS 4.2+ */
7
- url('icon-sm-components.svg?t=1617681183966#sm-components-icon-') format('svg'); /* iOS 4.1- */
1
+ @font-face {
2
+ font-family: "sm-components-icon-"; /* Project id 2236405 */
3
+ src: url('icon-sm-components.woff2?t=1728443762490') format('woff2'),
4
+ url('icon-sm-components.woff?t=1728443762490') format('woff'),
5
+ url('icon-sm-components.ttf?t=1728443762490') format('truetype');
8
6
  }
9
7
 
10
8
  [class^="sm-components-icon-"], [class*=" sm-components-icon-"], .sm-components-icon {
@@ -15,6 +13,22 @@
15
13
  -moz-osx-font-smoothing: grayscale;
16
14
  }
17
15
 
16
+ .sm-components-icon-complete:before {
17
+ content: "\e6a0";
18
+ }
19
+
20
+ .sm-components-icon-tucengyangshi01:before {
21
+ content: "\e661";
22
+ }
23
+
24
+ .sm-components-icon-attribute-table:before {
25
+ content: "\e7f7";
26
+ }
27
+
28
+ .sm-components-icon-suofangzhituceng:before {
29
+ content: "\e660";
30
+ }
31
+
18
32
  .sm-components-icon-attribute:before {
19
33
  content: "\e65f";
20
34
  }
@@ -30,15 +30,15 @@ export default {
30
30
  unavailableVideo: 'This video is temporarily unavailable, please try again later',
31
31
  mapNotLoaded: 'The associated map has not been loaded yet, please wait for a second',
32
32
  unassociatedMap: 'You need to configure the associated map!',
33
- videojs:
34
- 'Please import video.js plugin: https://github.com/videojs/video.js, When playing rtmp, install flash related plugin: https://github.com/videojs/videojs-flash',
33
+ videojs: 'Please import video.js plugin: https://github.com/videojs/video.js',
35
34
  flvPlayer:
36
35
  'Please import flv related plugin: https://github.com/bilibili/flv.js, https://github.com/mister-ben/videojs-flvjs'
37
36
  },
38
37
  success: { copySucccess: 'copy success' },
39
38
  info: {
40
39
  loading: 'Loading...',
41
- pressEscToExit: 'Press the ESC key or click the close button to exit'
40
+ pressEscToExit: 'Press the ESC key or click the close button to exit',
41
+ pressEscOrClickToExit: 'Press the ESC key or click anywhere to exit'
42
42
  },
43
43
  unit: {
44
44
  kilometers: 'km',
@@ -81,7 +81,11 @@ export default {
81
81
  unSupportedData: 'The current data does not support linkage with the map'
82
82
  },
83
83
  layerList: {
84
- title: 'Layer'
84
+ title: 'Layer',
85
+ layerStyle: 'layerStyle',
86
+ attributes: 'Attributes',
87
+ zoomToLayer: 'zoomToLayer',
88
+ opacity: 'Opacity'
85
89
  },
86
90
  slideshow: {
87
91
  title: 'Slideshow'
@@ -120,12 +124,16 @@ export default {
120
124
  loadingTip: 'Map is loading...',
121
125
  crsNotSupport: 'The coordinate system of the current map is not supported!',
122
126
  TileMatrixSetNotSuppport: 'Incoming TileMatrixSet is not supported!',
123
- getLayerInfoFailed: 'Failed to get layer information!',
127
+ getLayerInfoFailed: 'Failed to load layer!',
124
128
  getThemeInfoFailed: 'Failed to get theme information!',
125
129
  crsnotsupport: 'Unsupported coordinate system!',
126
130
  baiduMapNotSupport: 'Baidu maps is not supported yet!',
131
+ layerorsourcenameduplicated: 'layer or source name duplicated and cannot be added!',
127
132
  sampleDataNotSupport: 'Sample datas is not supported yet!',
128
- mvtNotSupport: 'Vector tile layers is not supported yet!'
133
+ drillLayersNotSupport: 'Drill-down layers are not supported yet!',
134
+ mvtNotSupport: 'Vector tile layers is not supported yet!',
135
+ mapCreatedFailed: 'Failed to load map!',
136
+ projectionnotmatch: '{title} does not match the current map projection!'
129
137
  },
130
138
  drillMap: {
131
139
  goBack: 'Go Back'
@@ -173,7 +181,8 @@ export default {
173
181
  query: 'Query',
174
182
  queryJob: 'Task',
175
183
  queryResult: 'Result',
176
- attributeCondition: 'Attribute Condition',
184
+ attributeCondition: 'Query Condition',
185
+ keyQueryCondition: 'Search keyword',
177
186
  spatialFilter: 'Spatial Filter',
178
187
  mapBounds: 'Query within the whole map extent',
179
188
  currentMapBounds: 'Query within current viewbound',
@@ -185,7 +194,9 @@ export default {
185
194
  attributeValue: 'Attribute Value',
186
195
  noResults: 'The query result is empty!',
187
196
  queryFailed: 'Query failed!',
188
- seviceNotSupport: 'This service does not support queries!'
197
+ seviceNotSupport: 'This service does not support queries!',
198
+ keyQueryPlaceholder: 'Please enter the search keyword',
199
+ sqlQueryPlaceholder: 'Please enter the SQL expression'
189
200
  },
190
201
  identify: {
191
202
  layerNotExit: "The layer '{layer}' does not exist in the map's style",
@@ -31,7 +31,7 @@ export default {
31
31
  mapNotLoaded: '关联的地图尚未加载完整,请稍后',
32
32
  unassociatedMap: '您需要配置关联地图!',
33
33
  videojs:
34
- '请引入video.js插件: https://github.com/videojs/video.js; 当播放rtmp时,安装flash相关插件:https://github.com/videojs/videojs-flash',
34
+ '请引入video.js插件: https://github.com/videojs/video.js',
35
35
  flvPlayer: '请引入flv相关插件: https://github.com/bilibili/flv.js, https://github.com/mister-ben/videojs-flvjs'
36
36
  },
37
37
  success: {
@@ -39,7 +39,8 @@ export default {
39
39
  },
40
40
  info: {
41
41
  loading: '加载中',
42
- pressEscToExit: '按下 ESC 键或点击关闭按钮退出'
42
+ pressEscToExit: '按下 ESC 键或点击关闭按钮退出',
43
+ pressEscOrClickToExit: '按下 ESC 键或点击任意位置退出'
43
44
  },
44
45
  unit: {
45
46
  kilometers: '千米',
@@ -82,7 +83,11 @@ export default {
82
83
  unSupportedData: '当前数据不支持与地图联动'
83
84
  },
84
85
  layerList: {
85
- title: '图层'
86
+ title: '图层',
87
+ layerStyle: '图层样式',
88
+ attributes: '属性表',
89
+ zoomToLayer: '缩放至图层',
90
+ opacity: '不透明度'
86
91
  },
87
92
  slideshow: {
88
93
  title: '幻灯片'
@@ -121,12 +126,16 @@ export default {
121
126
  loadingTip: '地图加载中...',
122
127
  crsNotSupport: '不支持当前地图的坐标系!',
123
128
  TileMatrixSetNotSuppport: '不支持传入的 TileMatrixSet!',
124
- getLayerInfoFailed: '获取图层信息失败!',
129
+ getLayerInfoFailed: '图层加载失败!',
125
130
  getThemeInfoFailed: '获取图层样式信息失败!',
126
131
  crsnotsupport: '不支持的坐标系!',
127
132
  baiduMapNotSupport: '暂不支持加载百度地图!',
133
+ layerorsourcenameduplicated: '图层名或数据源名重复无法添加',
128
134
  sampleDataNotSupport: '暂不支持加载示例数据!',
129
- mvtNotSupport: '暂不支持加载矢量瓦片图层!'
135
+ drillLayersNotSupport: '暂不支持加载下钻图层!',
136
+ mvtNotSupport: '暂不支持加载矢量瓦片图层!',
137
+ mapCreatedFailed: '地图加载失败!',
138
+ projectionnotmatch: '{title}与当前地图投影不匹配!'
130
139
  },
131
140
  videoPlus: {
132
141
  loadingTip: '视频加载中...'
@@ -177,7 +186,8 @@ export default {
177
186
  query: '查询',
178
187
  queryJob: '任务',
179
188
  queryResult: '结果',
180
- attributeCondition: '属性条件',
189
+ attributeCondition: '查询条件',
190
+ keyQueryCondition: '查询关键字',
181
191
  spatialFilter: '空间过滤器',
182
192
  mapBounds: '返回地图全图范围的要素',
183
193
  currentMapBounds: '返回当前地图范围内的要素',
@@ -189,7 +199,9 @@ export default {
189
199
  attributeValue: '属性值',
190
200
  noResults: '查询结果为空!',
191
201
  queryFailed: '查询失败!',
192
- seviceNotSupport: '此服务不支持查询!'
202
+ seviceNotSupport: '此服务不支持查询!',
203
+ keyQueryPlaceholder: '请输入关查询键字',
204
+ sqlQueryPlaceholder: '请输入SQL表达式'
193
205
  },
194
206
  identify: {
195
207
  layerNotExit: "地图上不存在该图层: '{layer}'",
@@ -8,7 +8,7 @@ import SmCollapseCard from 'vue-iclient/src/common/collapse-card/CollapseCard.vu
8
8
  export default class CardMixin extends Vue {
9
9
  @Prop({
10
10
  default: 'top-left',
11
- validator(value) {
11
+ validator(value: string) {
12
12
  return ['top-left', 'top-right', 'bottom-left', 'bottom-right'].includes(value);
13
13
  }
14
14
  })
@@ -8,5 +8,6 @@ export default class iPortalDataParameter {
8
8
  this.maxFeatures = options.maxFeatures || 20;
9
9
  this.name = options.name || geti18n().t('commontypes.iportalData');
10
10
  this.withCredentials = options.withCredentials || false;
11
+ this.queryMode = options.queryMode || 'SQL';
11
12
  }
12
13
  }
@@ -9,6 +9,7 @@ export interface iServerOptions {
9
9
  proxy?: proxyFn | string;
10
10
  layerName?: string;
11
11
  dataName?: string;
12
+ queryMode?: 'SQL' | 'KEYWORD';
12
13
  }
13
14
 
14
15
  export default class iServerBaseParameter {
@@ -17,6 +18,7 @@ export default class iServerBaseParameter {
17
18
  attributeFilter: string;
18
19
  maxFeatures: number;
19
20
  proxy: proxyFn | string;
21
+ queryMode: iServerOptions['queryMode'];
20
22
 
21
23
  constructor(options: iServerOptions) {
22
24
  this.type = 'iServer';
@@ -24,5 +26,6 @@ export default class iServerBaseParameter {
24
26
  this.attributeFilter = options.attributeFilter || null;
25
27
  this.maxFeatures = options.maxFeatures || 20;
26
28
  this.proxy = options.proxy;
29
+ this.queryMode = options.queryMode || 'SQL';
27
30
  }
28
31
  }
@@ -1,38 +1,43 @@
1
- import Vue from 'vue';
2
1
  import { getDataType } from 'vue-iclient/src/common/_utils/util';
2
+ import proj4 from 'proj4';
3
3
 
4
- const EpsgDefine = new Vue({
5
- epsgCodes: {
6
- 'EPSG:3857':
7
- 'PROJCS["WGS 84 / Pseudo-Mercator",GEOGCS["WGS 84",DATUM["WGS_1984",SPHEROID["WGS 84",6378137,298.257223563,AUTHORITY["EPSG","7030"]],AUTHORITY["EPSG","6326"]],PRIMEM["Greenwich",0,AUTHORITY["EPSG","8901"]],UNIT["degree",0.0174532925199433,AUTHORITY["EPSG","9122"]],AUTHORITY["EPSG","4326"]],PROJECTION["Mercator_Auxiliary_Sphere"],PARAMETER["central_meridian",0],PARAMETER["scale_factor",1],PARAMETER["false_easting",0],PARAMETER["false_northing",0],UNIT["metre",1,AUTHORITY["EPSG","9001"]],AXIS["X",EAST],AXIS["Y",NORTH],EXTENSION["PROJ4","+proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0 +k=1.0 +units=m +nadgrids=@null +wktext +no_defs"],AUTHORITY["EPSG","3857"]]',
8
- 'EPSG:4326':
9
- 'GEOGCS["WGS 84",DATUM["WGS_1984",SPHEROID["WGS 84",6378137,298.257223563,AUTHORITY["EPSG","7030"]],AUTHORITY["EPSG","6326"]],PRIMEM["Greenwich",0,AUTHORITY["EPSG","8901"]],AXIS["Easting", "EAST"],AXIS["Northing", "NORTH"],UNIT["degree",0.0174532925199433,AUTHORITY["EPSG","9122"]],AUTHORITY["EPSG","4326"]]',
10
- 'EPSG:4490':
11
- 'GEOGCS["China Geodetic Coordinate System 2000", DATUM["China 2000", SPHEROID["CGCS2000", 6378137.0, 298.257222101, AUTHORITY["EPSG","1024"]], AUTHORITY["EPSG","1043"]], PRIMEM["Greenwich", 0.0, AUTHORITY["EPSG","8901"]], UNIT["degree", 0.017453292519943295], AXIS["Geodetic latitude", NORTH], AXIS["Geodetic longitude", EAST], AUTHORITY["EPSG","4490"]]'
12
- },
13
- registerProjection(epsgKey, epsgValue) {
14
- if (getDataType(arguments[0]) === '[object Object]' && arguments.length === 1) {
15
- this.epsgCodes = Object.assign({}, this.epsgCodes, arguments[0]);
16
- } else if (epsgKey && epsgValue) {
17
- this.epsgCodes[epsgKey] = epsgValue;
18
- }
19
- },
20
- getProjection(epsgKey) {
21
- return this.epsgCodes[epsgKey];
22
- },
23
- getAllProjections() {
24
- return this.epsgCodes;
4
+ function defineProjection(epsgCode, projection) {
5
+ if (proj4.defs(epsgCode)) {
6
+ return;
25
7
  }
26
- });
27
-
28
- export default EpsgDefine;
8
+ if (!projection) {
9
+ console.error(`${epsgCode} not define`);
10
+ return;
11
+ }
12
+ proj4.defs(epsgCode, projection);
13
+ }
29
14
 
30
15
  export function registerProjection(epsgKey, epsgValue) {
31
- return EpsgDefine.$options.registerProjection(epsgKey, epsgValue);
16
+ if (getDataType(arguments[0]) === '[object Object]' && arguments.length === 1) {
17
+ const projections = arguments[0];
18
+ for (const epsgCode in projections) {
19
+ defineProjection(epsgCode, projections[epsgCode]);
20
+ }
21
+ return;
22
+ }
23
+ defineProjection(epsgKey, epsgValue);
32
24
  }
33
25
 
34
26
  export function getProjection(epsgKey) {
35
- return EpsgDefine.$options.getProjection(epsgKey);
27
+ if (!proj4.defs(epsgKey)) {
28
+ const epsgCodes = {
29
+ 'EPSG:3857':
30
+ 'PROJCS["WGS 84 / Pseudo-Mercator",GEOGCS["WGS 84",DATUM["WGS_1984",SPHEROID["WGS 84",6378137,298.257223563,AUTHORITY["EPSG","7030"]],AUTHORITY["EPSG","6326"]],PRIMEM["Greenwich",0,AUTHORITY["EPSG","8901"]],UNIT["degree",0.0174532925199433,AUTHORITY["EPSG","9122"]],AUTHORITY["EPSG","4326"]],PROJECTION["Mercator_Auxiliary_Sphere"],PARAMETER["central_meridian",0],PARAMETER["scale_factor",1],PARAMETER["false_easting",0],PARAMETER["false_northing",0],UNIT["metre",1,AUTHORITY["EPSG","9001"]],AXIS["X",EAST],AXIS["Y",NORTH],EXTENSION["PROJ4","+proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0 +k=1.0 +units=m +nadgrids=@null +wktext +no_defs"],AUTHORITY["EPSG","3857"]]',
31
+ 'EPSG:4326':
32
+ 'GEOGCS["WGS 84",DATUM["WGS_1984",SPHEROID["WGS 84",6378137,298.257223563,AUTHORITY["EPSG","7030"]],AUTHORITY["EPSG","6326"]],PRIMEM["Greenwich",0,AUTHORITY["EPSG","8901"]],AXIS["Easting", "EAST"],AXIS["Northing", "NORTH"],UNIT["degree",0.0174532925199433,AUTHORITY["EPSG","9122"]],AUTHORITY["EPSG","4326"]]',
33
+ 'EPSG:4490':
34
+ 'GEOGCS["China Geodetic Coordinate System 2000", DATUM["China 2000", SPHEROID["CGCS2000", 6378137.0, 298.257222101, AUTHORITY["EPSG","1024"]], AUTHORITY["EPSG","1043"]], PRIMEM["Greenwich", 0.0, AUTHORITY["EPSG","8901"]], UNIT["degree", 0.017453292519943295], AXIS["Geodetic latitude", NORTH], AXIS["Geodetic longitude", EAST], AUTHORITY["EPSG","4490"]]'
35
+ };
36
+ if (epsgCodes[epsgKey]) {
37
+ registerProjection(epsgKey, epsgCodes[epsgKey]);
38
+ }
39
+ }
40
+ return proj4.defs(epsgKey);
36
41
  }
37
42
 
38
43
  export function toEpsgCode(wkt) {
@@ -21,13 +21,18 @@ export default function getFeatures(dataset) {
21
21
  toIndex,
22
22
  hasGeometry,
23
23
  orderBy,
24
- returnFeaturesOnly
24
+ returnFeaturesOnly,
25
+ bounds,
26
+ keyWord,
27
+ onlyService
25
28
  } = dataset;
26
29
  if (dataset && (url || geoJSON) && type) {
27
30
  let queryInfo = {
28
31
  maxFeatures: maxFeatures,
29
32
  attributeFilter: attributeFilter,
30
- orderBy
33
+ orderBy,
34
+ bounds,
35
+ keyWord
31
36
  };
32
37
  if (type === 'iServer') {
33
38
  let datasetInfo;
@@ -58,6 +63,9 @@ export default function getFeatures(dataset) {
58
63
  params = [datasetInfo, queryInfo];
59
64
  } else if (type === 'iPortal') {
60
65
  queryInfo.withCredentials = withCredentials;
66
+ if (onlyService !== undefined) {
67
+ queryInfo.onlyService = onlyService;
68
+ }
61
69
  superMapService = new iPortalDataService(url, withCredentials, {
62
70
  epsgCode,
63
71
  resourceId: dataset.id,
@@ -81,6 +89,9 @@ export default function getFeatures(dataset) {
81
89
  getdatasucceeded: function(data) {
82
90
  resolve(data);
83
91
  },
92
+ featureisempty: function(data) {
93
+ resolve(data);
94
+ },
84
95
  getdatafailed: function(e) {
85
96
  reject(e);
86
97
  }
@@ -2,6 +2,7 @@ import { FetchRequest, Util } from 'vue-iclient/static/libs/iclient-common/iclie
2
2
  import iServerRestService, { vertifyEpsgCode, transformFeatures } from 'vue-iclient/src/common/_utils/iServerRestService';
3
3
  import { isXField, isYField, handleWithCredentials, handleDataParentRes } from 'vue-iclient/src/common/_utils/util';
4
4
  import { Events } from 'vue-iclient/src/common/_types/event/Events';
5
+ import { geti18n } from 'vue-iclient/src/common/_lang/index';
5
6
 
6
7
  /**
7
8
  * @class iPortalDataService
@@ -78,10 +79,12 @@ export default class iPortalDataService extends Events {
78
79
  }
79
80
  let datasetUrl = this.url;
80
81
 
81
- if (preferContent) {
82
+ const onlyService = queryInfo.onlyService;
83
+ if (preferContent && !onlyService) {
82
84
  this._getDatafromContent(datasetUrl, queryInfo);
83
85
  return;
84
86
  }
87
+ delete queryInfo.onlyService;
85
88
  FetchRequest.get(datasetUrl, null, {
86
89
  withCredentials: this.withCredentials
87
90
  })
@@ -100,8 +103,16 @@ export default class iPortalDataService extends Events {
100
103
  this._getStructureDatafromContent();
101
104
  return;
102
105
  }
106
+ const hasService = data.dataItemServices && data.dataItemServices.length > 0;
107
+ if (onlyService && !hasService) {
108
+ this.triggerEvent('getdatafailed', {
109
+ error: { message: geti18n().t('query.seviceNotSupport') },
110
+ onlyService
111
+ });
112
+ return;
113
+ }
103
114
  // 是否有rest服务
104
- if (data.dataItemServices && data.dataItemServices.length > 0) {
115
+ if (hasService) {
105
116
  let dataItemServices = data.dataItemServices;
106
117
  let resultData = dataItemServices.find(
107
118
  item =>
@@ -163,7 +174,7 @@ export default class iPortalDataService extends Events {
163
174
  // 所有请求结束
164
175
  Promise.all(allRequest).then((results) => {
165
176
  // 结果合并
166
- results.map((result) => {
177
+ results.forEach((result) => {
167
178
  featureResults = featureResults.concat(result.features);
168
179
  });
169
180
  this.iserverService._getFeaturesSucceed({