这次使用的是1.0版本的webgl 因为要使用自定义样式然后直_bmapgl.infowindow">
当前位置:   article > 正文

vue 使用百度地图(marker,infowindow)_bmapgl.infowindow

bmapgl.infowindow

vue使用的是vue2,脚手架是vue-cli3

首先 在public文件夹的index.html中引入百度地图api(需要去官网(jspopularGL | 百度地图API SDK)申请密钥)

<script type="text/javascript" src="https://api.map.baidu.com/api?type=webgl&v=1.0&ak=(密钥)"></script>

这次使用的是1.0版本的webgl 因为要使用自定义样式

然后直接在vue文件中使用

  1. <template>
  2. <div>
  3. <div id="container"></div>
  4. </div>
  5. </template>
  6. <script>
  7. export default {
  8. name: "baidu-map",
  9. data() {
  10. return {
  11. map:null
  12. };
  13. },
  14. mounted(){
  15. this.map = new BMapGL.Map('container') //创建一个地图实例
  16. this.map.centerAndZoom(new BMapGL.Point(166.6666,36.6666), 12); //设置坐标点和展示级别
  17. this.map.setMapStyleV2({
  18. styleId:'b3a455df90100869d7f9ed26e438fffe' //样式ID
  19. });
  20. this.map.enableScrollWheelZoom(true) // 允许地图可被鼠标滚轮缩放
  21. var scaleCtrl = new BMapGL.ScaleControl(); // 添加比例尺控件
  22. this.map.addControl(scaleCtrl);
  23. //创建图标
  24. let myIcon = new BMapGL.Icon('图片地址', new BMapGL.Size(51, 60));
  25. // 创建Marker标注,使用图标
  26. let point = new BMapGL.Point('lng的值','lat的值');
  27. let marker = new BMapGL.Marker(point, {
  28. icon: myIcon
  29. });
  30. // 将标注添加到地图
  31. this.map.addOverlay(marker);
  32. // 信息窗口内容----点击图标打开信息窗口
  33. let opts = {
  34. width : 255, // 信息窗口宽度
  35. height: 190, // 信息窗口高度
  36. }
  37. let content=` <div class="alarmDiv">
  38. <div class="imgbj">
  39. <div class="imgtitle">内容</div>
  40. </div>
  41. <p>标题</p>
  42. </div>`;
  43. let infoWindow = new BMapGL.InfoWindow(content, opts); // 创建信息窗口对象
  44. marker.addEventListener("click", () => {
  45. this.map.openInfoWindow(infoWindow, point); //开启信息窗口
  46. });
  47. }
  48. }
  49. </script>

修改信息窗的样式

  1. /*修改地图信息窗口对象样式*/
  2. .BMap_bubble_pop{
  3. background:#001D4F !important;
  4. color:#FFFFFF !important;
  5. border:0 !important;
  6. margin-top:30px;
  7. margin-left: -33px;
  8. }
  9. /*替换剪头*/
  10. img[src="http://webmap0.bdimg.com/image/api/iw_tail.png"]{
  11. opacity:.7;
  12. width: 20px !important;
  13. height: 15px !important;
  14. top:188px !important;
  15. left: 126px !important;
  16. filter:alpha(opacity=70);
  17. content: url('~@/assets/icon/jt.png');
  18. }

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

闽ICP备14008679号