| | |
| | | import * as L from 'leaflet' |
| | | import BasemapHelper from '@components/helpers/BasemapHelper' |
| | | import VectorLayerHelper from '@components/helpers/VectorLayerHelper' |
| | | import ServiceLayerHelper from '@components/helpers/ServiceLayerHelper' |
| | | |
| | | // 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 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' |
| | | import DashFlow from '@components/plugin/PathDashFlow' |
| | | let map = null |
| | | // let baseMapGroup = null |
| | | let commonLayerLoad = null |
| | | const initMap = (div) => { |
| | | if (map != null) { |
| | | map.remove() |
| | | // baseMapGroup = null |
| | | commonLayerLoad = null |
| | | } |
| | | |
| | | // Leaflet扩展代码 |
| | | // Editable.init(L) // 图层编辑 |
| | | // PathDrag.init(L) // 路径拖拽 |
| | | // MagicMarker.init(L) // 动画Marker |
| | | // CanvasIcon.init(L) // 使用canvas绘制Marker |
| | | |
| | | Editable.init(L) // 图层编辑 |
| | | PathDrag.init(L) // 路径拖拽 |
| | | MagicMarker.init(L) // 动画Marker |
| | | CanvasIcon.init(L) // 使用canvas绘制Marker |
| | | // CustomPopup.init(L) // 自定义弹出框 |
| | | // DashFlow.DashFlow(L) // 流动线图 |
| | | DashFlow.DashFlow(L) // 流动线图 |
| | | // Leaflet扩展代码 |
| | | |
| | | map = L.map(div, MapConfig.mapOptions) |
| | | |
| | | |
| | | // getToken() |
| | | // L.control.scale({ maxWidth: 200, metric: true, imperial: false }).addTo(map) |
| | | // L.control.layers(SgisConfig.baseLayers, SgisConfig.overlayLayers, { position: 'bottomright' }).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 |
| | | * @param L |
| | | */ |
| | | const initBasemaps = (map, L) => { |
| | | const initBasemapsHelper = (map, L) => { |
| | | // todo 这里进行底图地图的初始化 |
| | | var basemapHelper = new BasemapHelper(map, L) |
| | | var basemapHelper = new BasemapHelper({map, L}) |
| | | return basemapHelper |
| | | } |
| | | |
| | | const initTileLayers = (map, L) => { |
| | | // 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) |
| | | /** |
| | | * 业务底图初始化 |
| | | * @param map |
| | | * @param L |
| | | */ |
| | | const initTileLayersHelper = (map, L) => { |
| | | let serviceLayerHelper = new ServiceLayerHelper({map, L}) |
| | | return serviceLayerHelper |
| | | } |
| | | |
| | | /** |
| | | * 矢量地图初始化 |
| | | * @param map |
| | | */ |
| | | /** |
| | | * |
| | | * @param map |
| | | * @param L |
| | | * @param obj { name: 'trackPlayer', ref: this.$refs.trackPlayer } 组件的名称 和 组件的引用 |
| | | * @param loadMethodNames |
| | | */ |
| | | const initVectorLayers = (map, L, obj, env) => { |
| | | const initVectorLayersHelper = (map, L) => { |
| | | // 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() |
| | | var vectorLayerHelper = new VectorLayerHelper({map, L}) |
| | | window.vectorLayerHelper = vectorLayerHelper |
| | | return vectorLayerHelper |
| | | } |
| | | |
| | | export default { |
| | | initMap, |
| | | initBasemaps, |
| | | initTileLayers, |
| | | initVectorLayers |
| | | initBasemapsHelper, |
| | | initTileLayersHelper, |
| | | initVectorLayersHelper |
| | | } |