Browse Source

地图接入路线数据,地图接入车位置数据,增加勾选功能

Caner 2 years ago
parent
commit
a22612539e
4 changed files with 532 additions and 69 deletions
  1. BIN
      src/assets/img/44.png
  2. 378 0
      src/assets/img/44.svg
  3. 115 37
      src/components/map.vue
  4. 39 32
      src/pages/views/home/index.vue

BIN
src/assets/img/44.png


+ 378 - 0
src/assets/img/44.svg

@@ -0,0 +1,378 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="179px" height="250px" viewBox="0 0 179 250" enable-background="new 0 0 179 250" xml:space="preserve">  <image id="image0" width="179" height="250" x="0" y="0"
+    href="data:image/png;base64,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" />
+</svg>

+ 115 - 37
src/components/map.vue

@@ -4,20 +4,24 @@
     class="mapContainer"
   />
   <div
-    v-if="contrlSelect.contrlSelect.option.length"
+    v-if="Item.contrlSelect.option.length"
     class="mapContainer-menus"
   >
     <p>
       <icon
-        :name="contrlSelect.contrlSelect.icon"
-        :size="20"
+        :name="Item.contrlSelect.icon"
+        :size="22"
         style="margin-right: 10px;"
       />
-      {{ contrlSelect.contrlSelect.title }}
+      {{ Item.contrlSelect.title }}
     </p>
-    <n-checkbox-group v-model:value="checkBoxs">
+    <n-checkbox-group
+      v-model:value="checkBoxs"
+      checked
+      @update:value="checkBoxsChange"
+    >
       <n-checkbox
-        v-for="(item, index) in contrlSelect.contrlSelect.option"
+        v-for="(item, index) in Item.contrlSelect.option"
         :key="index"
         :value="item.value"
       >
@@ -36,7 +40,7 @@ import AMapLoader from '@amap/amap-jsapi-loader'
 import { onMounted, ref, watch } from 'vue'
 import useStore from '@/pages/store/index'
 import { useNotification } from 'naive-ui'
-import img36 from '@/assets/img/36.png'
+import carIcon from '@/assets/img/39.svg'
 import NetService from '@/services/net.service'
 
 const store = useStore()
@@ -44,18 +48,25 @@ const netService = new NetService()
 const notification = useNotification()
 const props = withDefaults(defineProps<{
   zoom?: number,
-  contrlSelect?: {contrlSelect:{title:string, option:Any[], icon:string}}
+  Item?: { contrlSelect: { title: string, option: Any[], icon: string, checked:number[] }, key:string }
 }>(), {
-  zoom: 15,
-  contrlSelect: () => ({ contrlSelect: { title: '', option: [], icon: '' } })
+  zoom: 13,
+  Item: () => ({
+    key: '',
+    contrlSelect: {
+      title: '', option: [], icon: '', checked: []
+    }
+  })
 })
+const emit = defineEmits<{(evt: 'update:contrlSelect', value: Any): void
+}>()
 let Maps = null as Any
 let AMaps = null as Any
 window._AMapSecurityConfig = {
   securityJsCode: '184c86be3bbd9a8a941bcaaf6b09c7cd'
 }
 const marks = {} as Any
-const checkBoxs = ref([])
+const checkBoxs = ref(props.Item.contrlSelect.checked)
 
 function getAllRings(feature: { geometry: { coordinates: Any[]; }; }) {
   const coords = feature.geometry.coordinates
@@ -72,13 +83,20 @@ function getLongestRing(feature: { geometry: { coordinates: Any[]; }; }) {
   return rings[0]
 }
 
-function addMark(position: number[], icon: string, size?: { w: number, h: number }) {
+function colorRandom() {
+  const r = Math.floor(Math.random() * 256)
+  const g = Math.floor(Math.random() * 256)
+  const b = Math.floor(Math.random() * 256)
+  return `#${r.toString(16)}${g.toString(16)}${b.toString(16)}`
+}
+
+function addMark(position: number[], icon?: string, size?: { w: number, h: number }) {
   if (!Maps) return
   const mark = new AMaps.Marker({
     position,
     cursor: 'pointer',
     icon: new AMaps.Icon({
-      image: icon || img36,
+      image: icon || carIcon,
       imageSize: new AMaps.Size(size?.w || 24, size?.h || 24)
     }),
     autoRotation: true,
@@ -88,6 +106,7 @@ function addMark(position: number[], icon: string, size?: { w: number, h: number
     extData: '1'// 设置自定义属性
   })
   Maps.add(mark)
+  return mark
 }
 
 function addLine(path: number[][], color?: string, width?: number) {
@@ -104,11 +123,36 @@ function addLine(path: number[][], color?: string, width?: number) {
   return polyline
 }
 
+// checkBox勾选
+function checkBoxsChange(params:number[], mate:{actionType:string, value:number}) {
+  console.log('勾选', marks[props.Item.key][mate.value])
+
+  if (!Object.keys(marks[props.Item.key][mate.value]).length) return
+  for (const key in marks[props.Item.key][mate.value]) {
+    if (marks[props.Item.key][mate.value][key] && marks[props.Item.key][mate.value][key].markMap) {
+      if (mate.actionType === 'check') {
+        marks[props.Item.key][mate.value][key].markMap.show()
+      } else {
+        marks[props.Item.key][mate.value][key].markMap.hide()
+      }
+    }
+  }
+}
+
+// homePAGE路线
 async function getLines() {
   const { data } = await netService.get('/busLine/getList')
   console.log(666, data)
+  if (data && data.length) {
+    for (let k = 0; k < data.length; k++) {
+      const el = data[k]
+      const { modeStationsList } = el.lineModeList[el.lineModeList.length - 1]
+      const paths = modeStationsList?.map((es: { longitude: string; latitude: string }) => ([ +es.longitude, +es.latitude ]))
+      const color = colorRandom()
+      marks[props.Item.key][3][el.lid] = { markMap: addLine(paths, color) }
+    }
+  }
 }
-getLines()
 
 function _initMap() {
   AMapLoader.load({
@@ -124,7 +168,7 @@ function _initMap() {
       zoom: props.zoom, // 设置当前显示级别
       expandZoomRange: true, // 开启显示范围设置
       zooms: [ 9, 20 ], // 最小显示级别为7,最大显示级别为20
-      center: [ 103.001033, 29.987722 ], // 设置地图中心点位置
+      center: [ 103.062334, 30.012488 ], // 设置地图中心点位置
       mapStyle: 'amap://styles/grey'
     })
     // 限制位置 getBounds()
@@ -177,29 +221,58 @@ function _initMap() {
 
     Maps = map
     AMaps = AMap
+
+    // 初始化marks
+    marks[props.Item.key] = {}
+    for (let k = 0; k < props.Item.contrlSelect.checked.length; k++) {
+      const el = props.Item.contrlSelect.checked[k]
+      marks[props.Item.key][el] = {}
+    }
+
+    // 初始化路线
+    getLines()
   })
 }
-console.log(123, props.contrlSelect)
 
 onMounted(() => _initMap())
 
+// 车位置更新
 watch(() => store.socektData, (v) => {
-  if (v && v.BUS_LINE_INFO) {
+  if (v && v.BUS_LINE_INFO && props.Item.key === 'homePage' && checkBoxs.value.includes(1)) {
     for (let k = 0; k < v.BUS_LINE_INFO.length; k++) {
       const el = v.BUS_LINE_INFO[k]
-      const paths = el.inboundAndOutboundStations.map((es: { lat: number; lng: number }) => [ es.lng, es.lat ])
-      if (marks[el.lineId]) {
-        // 更新
-        console.log('更新', v)
-        marks[el.lineId].lineMap.setPath(paths)
-      } else {
-        // 添加
-        console.log('添加', paths)
-        marks[el.lineId] = { ...el, lineMap: addLine(paths) }
+      for (let j = 0; j < el.inboundAndOutboundStations.length; j++) {
+        const es = el.inboundAndOutboundStations[j]
+        if (marks[props.Item.key][1][es.vehicleId]) {
+          // 更新位置
+          marks[props.Item.key][1][es.vehicleId].markMap.setPosition([ es.lng, es.lat ])
+          marks[props.Item.key][1][es.vehicleId].markMap.show()
+        } else {
+          // 添加位置
+          marks[props.Item.key][1][es.vehicleId] = { ...es, markMap: addMark([ es.lng, es.lat ]) }
+        }
       }
     }
   }
 }, { deep: true })
+
+// 菜单切换显示隐藏
+watch(() => props.Item.key, (v) => {
+  console.log('菜单切换', v)
+  for (const k in marks) {
+    for (const j in marks[k]) {
+      if (Object.keys(marks[k][j]).length) {
+        for (const z in marks[k][j]) {
+          if (k === props.Item.key) {
+            marks[k][j][z].markMap.show()
+          } else {
+            marks[k][j][z].markMap.hide()
+          }
+        }
+      }
+    }
+  }
+})
 </script>
 
 <style lang="scss" scoped>
@@ -208,7 +281,7 @@ watch(() => store.socektData, (v) => {
   height: 100%;
   mask-image: radial-gradient(circle at center, #030E25 70%, transparent 76%);
 
-  &-menus{
+  &-menus {
     width: 180px;
     position: absolute;
     bottom: 240px;
@@ -218,29 +291,34 @@ watch(() => store.socektData, (v) => {
     border-top-right-radius: 5px;
     overflow: hidden;
     box-sizing: border-box;
+    font-size: 20px;
 
-    &>p:first-child{
-      font-size: 18px;
+    &>p:first-child {
       color: #FFFFFF;
-      text-align: left;
-      font-weight: 400;
-      font-style: normal;
       background: rgba(33, 133, 232, 1);
       display: flex;
       align-items: center;
       height: 40px;
       padding: 0 10px;
     }
-    &>div:last-child{
+
+    &>div:last-child {
       background: rgba(25, 39, 56, 0.6);
-      border: solid 1px rgba(33, 133, 232, 1);;
+      border: solid 1px rgba(33, 133, 232, 1);
+      ;
     }
-    :deep(.n-checkbox){
+
+    :deep(.n-checkbox) {
       padding: 5px 10px;
-      .n-checkbox__label{
+      display: flex;
+      align-items: center;
+
+      .n-checkbox__label {
         display: flex;
         align-items: center;
-        &>svg{
+        font-size: 20px;
+
+        &>svg {
           margin-right: 5px;
         }
       }

+ 39 - 32
src/pages/views/home/index.vue

@@ -35,36 +35,37 @@ const menus = [
       icon: '51',
       option: [
         {
-          label: '拥挤',
+          label: '车辆',
           value: 1,
-          icon: '45'
+          icon: '39'
         },
         {
-          label: '中等',
+          label: '场站',
           value: 2,
-          icon: '46'
+          icon: '40'
         },
         {
-          label: '舒适',
+          label: '线路',
           value: 3,
-          icon: '47'
+          icon: '41'
         },
         {
-          label: '维保',
+          label: '充电桩',
           value: 4,
-          icon: '48'
+          icon: '42'
         },
         {
-          label: '充电',
+          label: '维修站',
           value: 5,
-          icon: '49'
+          icon: '43'
         },
         {
-          label: '行驶',
+          label: '中途站点',
           value: 6,
-          icon: '50'
+          icon: '44'
         }
-      ]
+      ],
+      checked: [ 1, 2, 3, 4, 5, 6 ]
     }
   },
   {
@@ -89,36 +90,37 @@ const menus = [
       icon: '51',
       option: [
         {
-          label: '车辆',
+          label: '拥挤',
           value: 1,
-          icon: '39'
+          icon: '45'
         },
         {
-          label: '场站',
+          label: '中等',
           value: 2,
-          icon: '40'
+          icon: '46'
         },
         {
-          label: '线路',
+          label: '舒适',
           value: 3,
-          icon: '41'
+          icon: '47'
         },
         {
-          label: '充电桩',
+          label: '维保',
           value: 4,
-          icon: '42'
+          icon: '48'
         },
         {
-          label: '维修站',
+          label: '充电',
           value: 5,
-          icon: '43'
+          icon: '49'
         },
         {
-          label: '中途站点',
+          label: '停驶',
           value: 6,
-          icon: '44'
+          icon: '50'
         }
-      ]
+      ],
+      checked: [ 1, 2, 3, 4, 5, 6 ]
     }
   },
   {
@@ -155,7 +157,8 @@ const menus = [
           value: 3,
           icon: ''
         }
-      ]
+      ],
+      checked: [ 1, 2, 3 ]
     }
   },
   {
@@ -182,7 +185,8 @@ const menus = [
           value: 2,
           icon: ''
         }
-      ]
+      ],
+      checked: [ 1, 2 ]
     }
   },
   {
@@ -225,7 +229,8 @@ const menus = [
           value: 5,
           icon: ''
         }
-      ]
+      ],
+      checked: [ 1, 2, 3, 4, 5 ]
     }
   },
   {
@@ -268,7 +273,8 @@ const menus = [
           value: 4,
           icon: ''
         }
-      ]
+      ],
+      checked: [ 1, 2, 3, 4 ]
     }
   },
   {
@@ -306,7 +312,8 @@ const menus = [
           value: 3,
           icon: ''
         }
-      ]
+      ],
+      checked: [ 1, 2, 3 ]
     }
   }
 ]
@@ -383,7 +390,7 @@ getBusTotal()
       <div class="home-content-left" />
       <div class="home-content-right" />
       <div class="home-content-center">
-        <Map :contrl-select="menus[active]" />
+        <Map :Item="menus[active]" />
       </div>
       <div class="home-content-left-img" />
       <div class="home-content-right-img" />