派生自 wuyushui/SewerAndRainNetwork

徐旺旺
2021-05-30 f8865d1c7f36c4ffa66002e0dd3a9d5e99e4fe6b
src/Sgis.js
@@ -1,65 +1,52 @@
import * as L from 'leaflet'
import BasemapHelper from '@components/helpers/BasemapHelper'
import VectorLayerHelper from '@components/helpers/VectorLayerHelper'
import ServiceLayerHelper from '@components/helpers/ServiceLayerHelper'
// 初始化显示
import MapConfig from './conf/MapConfig'
import '@components/plugin/PathDashFlow' // 流动线图
import DownLoad from './components/plugin/DownLoad'
// 测量
import '@components/plugin/leaflet-measure-path/leaflet-measure-path'
import Editable from '@components/plugin/Editable'
import PathDrag from '@components/plugin/PathDrag'
import CanvasIcon from '@components/plugin/CanvasMarkers'
import MagicMarker from '@components/plugin/MagicMarker'
import WmtsSupport from '@components/plugin/wmts_plugins'
import 'leaflet.markercluster'
import './components/plugin/Leaflet.GridLayer.FadeOut' // 瓦片图层切换淡入淡出
import './components/plugin/leaflet-canvas-markers' // 画布marker
import './components/plugin/Editable' // 标绘操作
import './components/plugin/MagicMarker' // 动画Marker
import './assets/css/map/magic.min.css' // 动画Marker css
import '@/components/plugin/magicMarker.css'
import '@components/plugin/pulse/Pulse' // marker 外圈波
import '@components/plugin/pulse/Pulse.css' // marker 外圈波 css
import BasemapHelper from './components/helpers/BasemapHelper'
import VectorLayerHelper from './components/helpers/VectorLayerHelper'
import MapConfig from '@/conf/MapConfig'
import DashFlow from '@components/plugin/PathDashFlow'
import '@/components/plugin/leaflet-echart'
// import '@/components/plugin/flowline'
// import eventBus from './eventBus'
let map = null
// let baseMapGroup = null
const initMap = (div) => {
const L = window.L
const initMap = (div, mapOption) => {
  if (map != null) {
    map.remove()
  }
  DownLoad.init(L)
  const option = mapOption || MapConfig.mapOptions
  map = L.map(div, option)
  // Leaflet扩展代码
  Editable.init(L) // 图层编辑
  PathDrag.init(L) // 路径拖拽
  MagicMarker.init(L) // 动画Marker
  CanvasIcon.init(L) // 使用canvas绘制Marker
  WmtsSupport.init(L) // 扩展,使支持WMTS
  // CustomPopup.init(L) // 自定义弹出框
  DashFlow.DashFlow(L) // 流动线图
  // Leaflet扩展代码
  map = L.map(div, MapConfig.mapOptions)
  map.on('click', (event, a, b) => {
    console.log(event, a, b)
  })
  // eventBus.$emit('map-obj', map)
  window.map = map
  window.L = L
  return { map: map, L: L }
  return map
}
/**
 * 基础底图初始化
 * @param map
 * @param L
 */
const initBasemapsHelper = (map, L) => {
const initBasemapsHelper = (map) => {
  // todo 这里进行底图地图的初始化
  var basemapHelper = new BasemapHelper({ map, L })
  console.log(basemapHelper)
  return basemapHelper
}
/**
 * 业务底图初始化
 * @param map
 * @param L
 */
const initTileLayersHelper = (map, L) => {
  const serviceLayerHelper = new ServiceLayerHelper({ map, L })
  return serviceLayerHelper
  console.log(map)
  return new BasemapHelper({ map })
}
/**
@@ -67,16 +54,14 @@
 * @param map
 * @param L
 */
const initVectorLayersHelper = (map, L) => {
const initVectorLayersHelper = (map) => {
  // todo 这里进行地图的初始化
  var vectorLayerHelper = new VectorLayerHelper({ map, L })
  window.vectorLayerHelper = vectorLayerHelper
  return vectorLayerHelper
  window.vectorLayerHelper = new VectorLayerHelper({ map })
  return window.vectorLayerHelper
}
export default {
  initMap,
  initBasemapsHelper,
  initTileLayersHelper,
  initVectorLayersHelper
}