当前位置:   article > 正文

vue中使用vue-baidu-map 实现点 弹窗 路线 行政区划分_bm-boundary

bm-boundary

此文章只适合新手........

我这块主要是使用标签来进行使用,没有api操作灵活,但是也覆盖了大部分场景 ,只适合新手 只适合新手

  1. <baidu-map
  2. style="position: absolute; height: 100%"
  3. class="bm-view"
  4. :scroll-wheel-zoom="true"
  5. :center="center"
  6. :zoom="zoom"
  7. :min-zoom="min_zoom"
  8. :max-zoom="max_zoom"
  9. :map-click="false"
  10. @ready="onBaiduMapReady"
  11. >
  12. // 右上角的切换按钮
  13. <bm-control class="kongjian">
  14. <button
  15. ref="kj1"
  16. style="color: #fff; background: #108ee9"
  17. @click="geticon('kj1', !isShow.firstIsShow, 'firstIsShow')"
  18. >
  19. <!-- style="color: #fff; background: #108ee9" -->
  20. 数据
  21. </button>
  22. <button
  23. ref="kj2"
  24. @click="geticon('kj2', !isShow.secondIsShow, 'secondIsShow')"
  25. >
  26. 商户
  27. </button>
  28. <button
  29. ref="kj3"
  30. @click="geticon('kj3', !isShow.thirdIsShow, 'thirdIsShow')"
  31. >
  32. 车辆
  33. </button>
  34. <button
  35. ref="kj4"
  36. @click="geticon('kj4', !isShow.fourthIsShow, 'fourthIsShow')"
  37. >
  38. 路线
  39. </button>
  40. <button
  41. ref="kj5"
  42. @click="geticon('kj5', !isShow.sixthIsShow, 'sixthIsShow')"
  43. >
  44. 异常事件
  45. </button>
  46. </bm-control>
  47. <!-- 行政区 -->
  48. <!-- 行政区划分 使用这个bm-boundary name属性值为:‘西安市雁塔区’ 这种的文字就可以 -->
  49. <bm-boundary
  50. v-for="(item, index) in administrativeRegion"
  51. :key="index"
  52. :name="item.name"
  53. :strokeWeight="3"
  54. :strokeColor="item.color"
  55. :fillColor="item.color"
  56. >
  57. </bm-boundary>
  58. <!-- 文字层 -->
  59. <!-- 地图上的长显示文字 -->
  60. <bm-overlay
  61. pane="labelPane"
  62. :class="{ sample: true, active }"
  63. v-for="item in areaDivideName"
  64. :position="{ lng: item.lng, lat: item.lat }"
  65. :key="item.lng"
  66. @draw="draw($event, item)"
  67. @mouseover.native="active = true"
  68. @mouseleave.native="active = false"
  69. >
  70. <div>
  71. <p>{{ item.newName }}</p>
  72. <p>{{ item.discharge }}</p>
  73. </div>
  74. </bm-overlay>
  75. <!-- 点的聚合效果 -->
  76. <bml-marker-clusterer :averageCenter="false">
  77. <!-- 点 -->
  78. <bm-marker
  79. v-for="(item, index) in shoppingNameOne"
  80. :key="item.id + '' + index"
  81. :position="{ lng: item.lng, lat: item.lat }"
  82. :icon="item.path"
  83. @click="infoWindowOpen(item)"
  84. >
  85. </bm-marker>
  86. </bml-marker-clusterer>
  87. <bm-marker
  88. v-for="(item, index) in shoppingNameTwo"
  89. :key="item.id + '' + index"
  90. :position="{ lng: item.lng, lat: item.lat }"
  91. :icon="item.path"
  92. @click="infoWindowOpenCar(item)"
  93. >
  94. </bm-marker>
  95. <bm-marker
  96. v-for="(item, index) in shoppingNameThree"
  97. :key="item.id + '' + index"
  98. :position="{ lng: item.lng, lat: item.lat }"
  99. :icon="item.path"
  100. @click="infoWindowOpenBnormal(item)"
  101. >
  102. </bm-marker>
  103. <bm-info-window
  104. :show="!bmMmarkerShow"
  105. :position="{ lng: infoWindowOpenObj.lng, lat: infoWindowOpenObj.lat }"
  106. @close="infoWindowClose"
  107. >
  108. <p class="customerName">
  109. <span>商户名:</span>{{ infoWindowOpenObj.customerName }}
  110. </p>
  111. <p class="customerName">
  112. <span>收运状态:</span
  113. >{{ infoWindowOpenObj.status == 0 ? "未收运" : "已收运" }}
  114. </p>
  115. <p class="customerName">
  116. <span>今日收运量:</span>{{ infoWindowOpenObj.discharge }}
  117. </p>
  118. </bm-info-window>
  119. <bm-info-window
  120. :show="!bmCarShow"
  121. :position="{ lng: infoWindowOpenCarObj.lng, lat: infoWindowOpenCarObj.lat }"
  122. @close="infoWindowCloseCar"
  123. >
  124. <p class="customerName">
  125. <span>车辆名:</span>{{ infoWindowOpenCarObj.vehicleName }}
  126. </p>
  127. <p class="customerName">
  128. <span>工作状态:</span
  129. >{{ infoWindowOpenCarObj.status == 0 ? "空闲" : "工作" }}
  130. </p>
  131. <p class="customerName">
  132. <span>定位时间:</span>{{ infoWindowOpenCarObj.createDate }}
  133. </p>
  134. </bm-info-window>
  135. <!--点击点显示的弹框 -->
  136. <bm-info-window
  137. :show="!bmaBnormalShow"
  138. :position="{ lng: infoWindowOpenaBnormalObj.lng, lat: infoWindowOpenaBnormalObj.lat }"
  139. @close="infoWindowCloseBnormal"
  140. >
  141. <p class="customerName">
  142. <span>车辆名:</span>{{ infoWindowOpenaBnormalObj.vehicleName }}
  143. </p>
  144. <p class="customerName">
  145. <span>报警状态:</span
  146. >{{ infoWindowOpenaBnormalObj.status == 1 ? "报警" : "已处理" }}
  147. </p>
  148. <p class="customerName">
  149. <span>时间:</span>{{ infoWindowOpenaBnormalObj.createDate }}
  150. </p>
  151. </bm-info-window>
  152. <!--路线标签 需要路线数组可以自己生成一条线-->
  153. <bm-polyline
  154. :path="routeList"
  155. stroke-color="blue"
  156. :stroke-opacity="1"
  157. :stroke-weight="2"
  158. >
  159. </bm-polyline>
  160. </baidu-map>

主标签的基本信息配置   其他数据都是业务数据我这块就不显示了 都是数组格式,如果实在不知道数据格式可以去官网看看

  1. baidumap: {
  2. center: { lng: 108.944, lat: 34.335 },
  3. address: '西安',
  4. zoom: 1,
  5. location: '西安',
  6. min_zoom: 11,
  7. max_zoom: 18,
  8. },

 常显示文字样式 bm-overlay样式

  1. .sample {
  2. width: 120px;
  3. // height: 40px;
  4. line-height: 40px;
  5. // background: rgba(0, 0, 0, 0.5);
  6. overflow: hidden;
  7. // box-shadow: 0 0 5px #000;
  8. color: #000;
  9. text-align: center;
  10. padding: 10px;
  11. position: absolute;
  12. }
  13. .sample.active {
  14. color: #000;
  15. }
  16. .sample div {
  17. box-sizing: border-box;
  18. display: flex;
  19. // justify-content: space-around;
  20. background: rgb(238, 238, 179);
  21. border: 2px solid #679af4;
  22. border-radius: 20px;
  23. width: 110px;
  24. height: 26px;
  25. color: #333;
  26. & > p {
  27. text-align: center;
  28. height: 23px;
  29. line-height: 23px;
  30. }
  31. & > p:nth-child(1) {
  32. width: 55%;
  33. color: #fff;
  34. background: #679af4;
  35. border-radius: 20px;
  36. }
  37. & > p:nth-child(2) {
  38. width: 45%;
  39. text-align: center;
  40. }
  41. // width: 100%;
  42. // height: 50%;
  43. // margin: 0 auto;
  44. // text-align: center;
  45. }

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Gausst松鼠会/article/detail/109718
推荐阅读