initMapInfo.ts 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  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 isInternet = false
  8. const baseMapView = {
  9. center: [109.6915958479584, 19.111636735969318],
  10. projection: "EPSG:4326",
  11. zoom: 9
  12. // extent: [120.8953306326286,31.3667480047968,121.37735577911297,31.692561298253832]
  13. }
  14. const initBaseLayer = (obj) => {
  15. const _layer = new layer.Tile({
  16. source: new source.XYZ({
  17. projection: "EPSG:4326",
  18. 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`,
  19. }),
  20. visible: obj.visible,
  21. })
  22. _layer.set('_maxZoom', obj.maxZoom)
  23. _layer.set('_minZoom', obj.minZoom)
  24. _layer.set('_easyMapOl_layerName', obj.name)
  25. _layer.set('_label', obj.label)
  26. _layer.set('_img', obj.img)
  27. return _layer
  28. }
  29. const initInternet = (obj) => {
  30. const _layer = new layer.Tile({
  31. source: new source.XYZ({
  32. url: 'http://wprd0{1-4}.is.autonavi.com/appmaptile?lang=zh_cn&size=1&style=7&x={x}&y={y}&z={z}'
  33. }),
  34. visible: obj.visible,
  35. })
  36. _layer.set('_maxZoom', obj.maxZoom)
  37. _layer.set('_minZoom', obj.minZoom)
  38. _layer.set('_easyMapOl_layerName', obj.name)
  39. _layer.set('_label', obj.label)
  40. _layer.set('_img', obj.img)
  41. return _layer
  42. }
  43. const baseMapLayers = [
  44. {
  45. key: 'sea',
  46. name: 'base_haitu',
  47. label: '海图',
  48. maxZoom: 14,
  49. minZoom: 5,
  50. visible: false,
  51. img: HaituImg
  52. },
  53. {
  54. key: 'tdtsl',
  55. name: 'base_tianditu',
  56. label: '陆图',
  57. maxZoom: 20,
  58. minZoom: 8,
  59. visible: true,
  60. img: LutuImg
  61. },
  62. {
  63. key: 'hnimg',
  64. name: 'base_weixingtu',
  65. label: '卫星图',
  66. maxZoom: 19,
  67. minZoom: 8,
  68. visible: false,
  69. img: WeixingImg
  70. },
  71. ]
  72. export default {
  73. baseMapView,
  74. baseMapLayers,
  75. initBaseLayer,
  76. initInternet,
  77. isInternet
  78. }