import * as L from 'leaflet'
|
import BasemapHelper from '@components/helpers/BasemapHelper'
|
import VectorLayerHelper from '@components/helpers/VectorLayerHelper'
|
|
// 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 'leaflet.markercluster'
|
|
import MapConfig from '@/conf/MapConfig'
|
import CommonLayerLoad from '@components/mapmodules/CommonLayerLoad'
|
// import DashFlow from '@components/plugin/PathDashFlow'
|
// import AjaxUtils from '@/utils/AjaxUtils'
|
let map = null
|
// let baseMapGroup = null
|
let commonLayerLoad = null
|
const initMap = (div) => {
|
if (map != null) {
|
map.remove()
|
// baseMapGroup = null
|
commonLayerLoad = null
|
}
|
|
// Editable.init(L)
|
// PathDrag.init(L)
|
// MagicMarker.init(L)
|
// CanvasIcon.init(L)
|
|
// CustomPopup.init(L)
|
// DashFlow.DashFlow(L)
|
map = L.map(div, MapConfig.mapOptions)
|
// DashFlow.DashFlow(L, map)
|
commonLayerLoad = new CommonLayerLoad()
|
// const blueMap = commonLayerLoad.loadBlueMap()
|
// baseMapGroup = L.layerGroup([blueMap]).addTo(map)
|
|
const imgMapm = commonLayerLoad.loadImgMapm()
|
const imgMapa = commonLayerLoad.loadImgMapa()
|
|
L.layerGroup([imgMapm, imgMapa]).addTo(map)
|
|
// getToken()
|
// L.control.scale({ maxWidth: 200, metric: true, imperial: false }).addTo(map)
|
// L.control.layers(SgisConfig.baseLayers, SgisConfig.overlayLayers, { position: 'bottomright' }).addTo(map)
|
// 加载国界和铁路
|
const nationalBoundaries = commonLayerLoad.loadGuoJie()
|
const railWay = commonLayerLoad.loadRailWay()
|
nationalBoundaries.addTo(map)
|
railWay.addTo(map)
|
window.map = map
|
window.L = L
|
|
// showLngLat()
|
return { map: map, L: L }
|
}
|
|
// let getToken = () => {
|
// let params = MapConfig.TokenConfig
|
// AjaxUtils.GetDataAsynByUrl(params.url, params.option, function(token) {
|
// showTdt(token)
|
// })
|
// }
|
// let showTdt = (token) => {
|
// const imgMapm = commonLayerLoad.loadIntranetImgMap(token)
|
// const imgMapa = commonLayerLoad.loadIntranetImgMapCia(token)
|
// baseMapGroup.addLayer(imgMapm)
|
// baseMapGroup.addLayer(imgMapa)
|
// }
|
/**
|
* 瓦片底图初始化
|
* @param map
|
*/
|
const initBasemaps = (map, L) => {
|
// todo 这里进行底图地图的初始化
|
var basemapHelper = new BasemapHelper(map, L)
|
return basemapHelper
|
}
|
|
/**
|
* 矢量地图初始化
|
* @param map
|
*/
|
/**
|
*
|
* @param map
|
* @param L
|
* @param obj { name: 'trackPlayer', ref: this.$refs.trackPlayer } 组件的名称 和 组件的引用
|
* @param loadMethodNames
|
*/
|
const initLayers = (map, L, obj, env) => {
|
// todo 这里进行地图的初始化
|
var vectorLayerHelper = new VectorLayerHelper(map, L, env)
|
if (obj != null) {
|
vectorLayerHelper.setVueRef(obj.name, obj.ref)
|
}
|
// let loadMethodNames = ['dock', 'petro', 'fillingStation', 'storeHouse', 'productOil', 'transDisplay', 'ship', 'train', 'warningCar', 'trackQuery', 'weather']
|
vectorLayerHelper.initVectorLayers()
|
window.vectorLayerHelper = vectorLayerHelper
|
return vectorLayerHelper
|
}
|
|
export default {
|
initMap,
|
initBasemaps,
|
initLayers
|
}
|