initMapInfo.ts 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. import * as layer from 'ol/layer'
  2. import * as source from 'ol/source'
  3. import HaituImg from './images/bg-ocean.png'
  4. import LutuImg from './images/bg-land.png'
  5. import WeixingImg from './images/bg-sky.png'
  6. import store from '@/store/index'
  7. const baseMapView = {
  8. center: [109.6915958479584, 19.111636735969318],
  9. projection: "EPSG:4326",
  10. zoom: 9
  11. // extent: [120.8953306326286,31.3667480047968,121.37735577911297,31.692561298253832]
  12. }
  13. const initBaseLayer = (obj) => {
  14. const _layer = new layer.Tile({
  15. source: new source.XYZ({
  16. projection: "EPSG:4326",
  17. url: `/${store.state.app.apiProxy.EzServer6Api}/EzServer6/Maps/${obj.key}/EzMap?Service=getImage&Type=RGB&ZoomOffset=0&Col={x}&Row={y}&Zoom={z}&V=0.3`,
  18. }),
  19. visible: obj.visible,
  20. })
  21. _layer.set('_maxZoom', obj.maxZoom)
  22. _layer.set('_minZoom', obj.minZoom)
  23. _layer.set('_easyMapOl_layerName', obj.name)
  24. _layer.set('_label', obj.label)
  25. _layer.set('_img', obj.img)
  26. return _layer
  27. }
  28. const initLocalhost = (obj) => {
  29. const _layer = new layer.Tile({
  30. source: new source.XYZ({
  31. url: 'http://wprd0{1-4}.is.autonavi.com/appmaptile?lang=zh_cn&size=1&style=7&x={x}&y={y}&z={z}'
  32. }),
  33. visible: obj.visible,
  34. })
  35. _layer.set('_maxZoom', obj.maxZoom)
  36. _layer.set('_minZoom', obj.minZoom)
  37. _layer.set('_easyMapOl_layerName', obj.name)
  38. _layer.set('_label', obj.label)
  39. _layer.set('_img', obj.img)
  40. return _layer
  41. }
  42. const baseMapLayers = [
  43. initBaseLayer({
  44. key: 'sea',
  45. name: 'base_haitu',
  46. label: '海图',
  47. maxZoom: 14,
  48. minZoom: 5,
  49. visible: false,
  50. img: HaituImg
  51. }),
  52. !window.location.origin.includes('localhost')
  53. ? initBaseLayer({
  54. key: 'tdtsl',
  55. name: 'base_tianditu',
  56. label: '陆图',
  57. maxZoom: 20,
  58. minZoom: 8,
  59. visible: true,
  60. img: LutuImg
  61. })
  62. : initLocalhost({
  63. key: 'tdtsl',
  64. name: 'base_tianditu',
  65. label: '陆图',
  66. maxZoom: 20,
  67. minZoom: 8,
  68. visible: true,
  69. img: LutuImg
  70. }),
  71. initBaseLayer({
  72. key: 'hnimg',
  73. name: 'base_weixingtu',
  74. label: '卫星遥感图',
  75. maxZoom: 19,
  76. minZoom: 8,
  77. visible: false,
  78. img: WeixingImg
  79. }),
  80. ]
  81. export default {
  82. baseMapView,
  83. baseMapLayers,
  84. }