123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526 |
- import CityGis from "@/utils/map/CityGis.Bridge";
- import { ElMessage } from 'element-plus'
- import 'element-plus/es/components/message/style/css'
- import {onLocationBoat} from '@/utils/map/Boat'
- import {refreshDepthPoints} from '@/utils/map/Layer'
- import bus from '@/utils/bus';
- import {setMultiBoatHistory} from '@/utils/map/Boat'
- let bridge
- let calculateFinish = false
- let drawResult = null
- let showBoat = false
- let showDepthPoints = false
- let mapExtent
- let mapScale
- let clickGraphic
- export function initBridge(){
- bridge = new CityGis.Bridge({
- id: "i_map",
- url: "http://10.83.68.108:8090/mapVue/#/map",
-
-
- onReady: function(){
- console.log("地图创建完成");
- }
- });
- bridge.addEventListener((arg) => {
- switch (arg.action) {
- case "MapIsReady":
- break;
- case "MapExtentChanged":
- console.log(arg)
- mapExtent = arg.data.extent
- mapScale = arg.data.scale
- if(showBoat){
- onLocationBoat()
- }
- if(showDepthPoints){
- refreshDepthPoints()
- }
- break;
- case "MapClickObject":
- clickGraphic = arg.data.graphic
-
- if(clickGraphic.attributes.mmsi){
- bus.emit('ueRec_BoatClick',{'mmsi':clickGraphic.attributes.mmsi})
- }
- break
- default:
- console.log(JSON.stringify(arg.data, null, 4))
- }
- });
- }
- export function getMapExtent() {
- return mapExtent
- }
- export function getMapScale() {
- return mapScale
- }
- export function changeMap(type){
- let params = {
- "ActionName": "ChangeBaseMap",
- "Parameters": {
- "title": type,
- "opacity": 1
- }
- };
- bridge.Invoke(params);
- }
- export function setOpacity(opacity){
- let params = {
- "ActionName": "SetOpacity",
- "Parameters": {
- "opacity": opacity
- }
- };
- bridge.Invoke(params);
- }
- export function addLayer(data){
- let params = {
- "ActionName": "AddLayer",
- "Parameters": {
- "id": data.id,
- "title": data.title,
- "visible": data.visible,
- "opacity": data.opacity,
-
- "url": data.url,
- "type": data.type,
- "token": data.token,
-
- "elevationInfo": data.elevationInfo
- }
- };
- bridge.Invoke(params);
- }
- export function addBoats(boats){
- let params = {
- "ActionName": "AddBoat",
- "Parameters": {
- "scale": boats.scale,
- "goto": boats.goto,
- "data": boats.data,
- "singleBoat": boats.singleBoat
- }
- };
-
- bridge.Invoke(params);
- }
- export function setBoatHistory(datas){
- let params = {
- "ActionName": "SetBoatHistory",
- "Parameters": {
- "data":datas
- }
- };
- bridge.Invoke(params);
- }
- export function setAreaBoatHistory(param){
- let params = {
- "ActionName": "SetAreaBoatHistory",
- "Parameters": {
- "startTime": param.startTime,
- "endTime": param.endTime,
- "data":param.datas
- }
- };
- bridge.Invoke(params);
- }
- export function playBoatHistory(type){
- let params = {
- "ActionName": "PlayBoatHistory",
- "Parameters": {
- "status": type
- }
- };
- bridge.Invoke(params);
- }
- export function playMultiBoatHistory(type){
- let params = {
- "ActionName": "PlayMultiBoatHistory",
- "Parameters": {
- "status": type
- }
- };
- bridge.Invoke(params);
- bridge.addEventListener((arg) => {
- switch (arg.action) {
- case "MapIsReady":
- break;
- }
- });
- }
- export function clearBoatHistory(){
- let params = {
- "ActionName": "ClearBoatHistory",
- "Parameters": {}
- };
- bridge.Invoke(params);
- }
- export function layerQuery(paramData){
- let params = {
- "ActionName": "LayerQuery",
- "Parameters": {
- "title": paramData.title,
- "layerid": paramData.layerId,
- "where": paramData.where,
- "outFields": [
- "*"
- ],
- "returnGeometry": true,
- "is_draw": paramData.is_draw == null?true:paramData.is_draw,
- "is_clear": paramData.is_clear == null?true:paramData.is_clear,
- "symbol": paramData.symbol
- }
- };
- console.log("params",params)
- bridge.Invoke(params);
- bridge.addEventListener((arg) => {
- if(arg.action == "ReturnDataList"){
- console.log(arg)
- if(arg.status == false){
- this.$message({
- showClose: true,
- message: "未查询到结果!",
- type: "warning"
- })
- return
- }
-
- if(paramData.callback == 'pjylPortHandle'){
- this.pjylPortHandle(arg)
- }else if(paramData.callback == 'djldPortHandle'){
- this.djldPortHandle(arg)
- }
- }
- });
- }
- export function resetMap(){
- let params = {
- "ActionName": "ResetMap"
- };
- bridge.Invoke(params);
- }
- export function fullExtent(){
- let params = {
- "ActionName": "FullExtent"
- };
- bridge.Invoke(params);
- }
- export function calculation(type){
- let g_type
- calculateFinish = false
- if(type == "distance"){
- g_type = "polyline"
- }
- if(type == "area"){
- g_type = "polygon"
- }
- let params = {
- "ActionName": "Calculation",
- "Parameters": {
- "type": g_type,
- "is_show": false
- }
- };
- bridge.Invoke(params);
- bridge.addEventListener((arg) => {
- if(arg.action == "Calculation" && calculateFinish == false){
- calculateFinish = true
- ElMessage.warning("测量结果:" + arg.data.result)
- }
- });
- }
- export function layerControl(data){
- if(data == "" || data == null){
- return
- }
- this.mapClickLayers = []
- if(data.visible == true){
-
- let sublayers = data.sublayers.split(",")
- for(let i=0;i<sublayers.length;i++){
- this.mapClickLayers.push(sublayers[i])
- }
- }
- let params = {
- "ActionName": "LayerControl",
- "Parameters": {
- "title": data.title,
- "visible": data.visible,
- "opacity": data.opacity,
- "sublayers": data.sublayers
- }
- };
- bridge.Invoke(params);
- }
- export function draw(type,isBack){
- let params = {
- "ActionName": "Draw",
- "Parameters": {
- "type": type
- }
- };
- bridge.Invoke(params);
- bridge.addEventListener((arg) => {
- if(arg.action == "DrawComplete"){
- drawResult = arg.data
-
- if(isBack == 'setMultiBoatHistory'){
- setMultiBoatHistory(drawResult)
- }
- }
- });
- }
- export function addGraphic(datas){
- console.log("addGraphic:",datas)
- let params = {
- "ActionName": "AddGraphic",
- "Parameters": {
- "type": datas.type,
- "is_edit": datas.edit,
- "is_clear": datas.clear,
- "is_temp": datas.temp,
- "is_goto": datas.goto,
- "data": datas.data,
- "attributes": datas.attributes,
- "symbol": datas.symbol,
- "textSymbol": datas.textSymbol,
- "title": datas.title
- }
- };
- bridge.Invoke(params);
- }
- export function setCamera(data){
- let params = {
- "ActionName": "SetCamera",
- "Parameters": {
- "position": {
- "x": data.x,
- "y": data.y,
- "z": data.z,
- "spatialReference": 102100
- },
- "heading": data.heading,
- "tilt": data.tilt,
- }
- };
- bridge.Invoke(params);
- }
- export function clearMap(data){
- let params = {
- "ActionName": "ClearMap",
- "Parameters": {
- "is_draw": data.is_draw,
- "is_search": data.is_search,
-
- "layers": data.layers
- }
- };
- bridge.Invoke(params);
- }
- export function getDrawResult(){
- return drawResult
- }
- export function openBoatDriving(data){
- let params = {
- "ActionName": "AddBoatDriving",
- "Parameters": {
- "mmsi": data.mmsi,
- "shipName": data.shipName,
- "shipTypeName": data.shipTypeName,
- "direction": data.direction,
- "mapx": data.mapx,
- "mapy": data.mapy
- }
- };
- bridge.Invoke(params);
- }
- export function closeBoatDriving(data){
- let params = {
- "ActionName": "CloseBoatDriving",
- "Parameters": {}
- };
- bridge.Invoke(params);
- }
- export function setShowDepthPointsState(data){
- showDepthPoints = data
- }
|