• <tfoot id='o0gwY'></tfoot>

        <bdo id='o0gwY'></bdo><ul id='o0gwY'></ul>
        <i id='o0gwY'><tr id='o0gwY'><dt id='o0gwY'><q id='o0gwY'><span id='o0gwY'><b id='o0gwY'><form id='o0gwY'><ins id='o0gwY'></ins><ul id='o0gwY'></ul><sub id='o0gwY'></sub></form><legend id='o0gwY'></legend><bdo id='o0gwY'><pre id='o0gwY'><center id='o0gwY'></center></pre></bdo></b><th id='o0gwY'></th></span></q></dt></tr></i><div id='o0gwY'><tfoot id='o0gwY'></tfoot><dl id='o0gwY'><fieldset id='o0gwY'></fieldset></dl></div>
      1. <small id='o0gwY'></small><noframes id='o0gwY'>

        <legend id='o0gwY'><style id='o0gwY'><dir id='o0gwY'><q id='o0gwY'></q></dir></style></legend>
      2. 百度地图点聚合和弹窗事件怎么调用

        什么是点聚合 点聚合 (MarkerClusterer 标记聚合器)用来解决加载大量点要素到地图上产生覆盖现象的问题,并提高性能。显示效果如下图: 简单实例 HTML \ CSS style body, html {width: 100%;he
            <tbody id='uXt01'></tbody>

            <legend id='uXt01'><style id='uXt01'><dir id='uXt01'><q id='uXt01'></q></dir></style></legend>

            <small id='uXt01'></small><noframes id='uXt01'>

          • <tfoot id='uXt01'></tfoot>
              <bdo id='uXt01'></bdo><ul id='uXt01'></ul>

                <i id='uXt01'><tr id='uXt01'><dt id='uXt01'><q id='uXt01'><span id='uXt01'><b id='uXt01'><form id='uXt01'><ins id='uXt01'></ins><ul id='uXt01'></ul><sub id='uXt01'></sub></form><legend id='uXt01'></legend><bdo id='uXt01'><pre id='uXt01'><center id='uXt01'></center></pre></bdo></b><th id='uXt01'></th></span></q></dt></tr></i><div id='uXt01'><tfoot id='uXt01'></tfoot><dl id='uXt01'><fieldset id='uXt01'></fieldset></dl></div>

                  什么是点聚合

                  点聚合 (MarkerClusterer 标记聚合器)用来解决加载大量点要素到地图上产生覆盖现象的问题,并提高性能。显示效果如下图:

                  简单实例

                  HTML \ CSS
                  <style>
                      body, html {width: 100%;height: 100%;margin: 0;font-family: "微软雅黑";}
                      #allmap {width: 100%;height: 500px;}
                      p {margin-left: 5px;font-size: 14px;}
                      /*隐藏百度logo*/
                      .anchorBL a img{display: none;}
                      .anchorBL span span{display: none;}
                  </style>
                  
                  <body style="min-height: 100%;">
                     <div id="allmap"></div>
                  </body>
                  
                  JS代码
                  启用点聚合功能,其中的 data 可以根据需求进行异步获取,得到的数据中应当有横纵坐标
                  可以开启定位,达到每次打开地图快速定位到相关位置
                  <script type="text/javascript" 
                         src="http://api.map.baidu.com/api?v=2.0&ak=密钥"></script>
                  <script type="text/javascript"
                          src="http://api.map.baidu.com/library/TextIconOverlay/1.2/src/TextIconOverlay_min.js"></script>
                  <script type="text/javascript"
                          src="http://api.map.baidu.com/library/MarkerClusterer/1.2/src/MarkerClusterer_min.js"></script>
                  <script>
                      // 百度地图API功能
                      var map = new BMap.Map("allmap");
                      var point = new BMap.Point(116.331398,39.897445);
                      map.centerAndZoom(point,6);
                      //启用滚轮放大缩小
                      map.enableScrollWheelZoom(true);
                  
                      // 相关数据(也可以根据需求异步获取)
                      // 可以确定的是每条数据应要有横纵坐标
                      var data = [{"mapy": "32.94584", "mapx": "112.894350", "time": "12:30"},
                          {"mapy": "33.34683", "mapx": "112.694300", "time": "11:30"},
                          {"mapy": "33.54702", "mapx": "112.094380", "time": "10:30"},
                          {"mapy": "33.148780", "mapx": "116.494390", "time": "13:30"}
                      ];
                  
                      var markers = [];
                  
                      // 遍历得到的数据
                      $.each(data, function (i, item) {
                          // 横纵坐标定点
                          var point = new BMap.Point(item.mapx, item.mapy);
                          var marker = new BMap.Marker(point);
                          // 获取数据
                          var content = item.time;
                          // 添加点击事件
                          //addClickHandler(content, marker);
                  
                          markers.push(marker);
                  
                      });
                  
                      // 根据ip定位
                      function myFun(result){
                          var cityName = result.name;
                          map.setCenter(cityName);
                          console.log("当前定位城市:"+cityName);
                      }
                      var myCity = new BMap.LocalCity();
                      myCity.get(myFun);
                  
                      // 添加点聚合效果
                      var markerClusterer = new BMapLib.MarkerClusterer(map, {markers: markers});
                  </script>
                  
                  聚合点的样式修改
                  如果觉得默认样式不好看,或者有特殊的需求,可以自定义点的样式
                  // 添加点聚合效果
                      var markerClusterer = new BMapLib.MarkerClusterer(map, {
                          markers: markers,
                         //最小的聚合数量,小于该数量的不能成为一个聚合,默认为2
                          minClusterSize: 2, 
                          styles: [{
                             // 此处URL不知道能否用本地图片,自己试了一下不能,待解答!
                              url: 'dist/img/smallred.png',
                              size: new BMap.Size(0, 0)
                          }]
                      });
                  

                  添加点击事件

                  // 添加点击事件,可在循环数据时调用
                      function addClickHandler(content, marker) {
                          marker.addEventListener("click", function (e) {
                                  openInfo(content, e)
                              }
                          );
                      }
                  
                  弹窗
                  openInfo(content, e),这里可以传需求的参数;
                  var infoWindow = new BMap.InfoWindow( 拼接数据 , opts);, 这里可以自定义拼接参数;
                  // 弹窗
                      var opts = {
                          width: 270, // 信息窗口宽度
                          height: 100, // 信息窗口高度
                          enableMessage: true//设置允许信息窗发送短息
                      };
                  
                      // 弹窗点击事件
                      function openInfo(content, e) {
                          var p = e.target;
                          var point = new BMap.Point(p.getPosition().lng, p.getPosition().lat);
                          // 创建信息窗口对象
                          var infoWindow = new BMap.InfoWindow(`<div>自定义内容</div><div>${content}</div>` , opts);
                          //开启信息窗口
                          map.openInfoWindow(infoWindow, point);
                      }
                  
                  【网站声明】本站部分内容来源于互联网,旨在帮助大家更快的解决问题,如果有图片或者内容侵犯了您的权益,请联系我们删除处理,感谢您的支持!

                  相关文档推荐

                  首先你需要引入百度地图的js script type="text/javascript" src="https://api.map.baidu.com/api?v=2.0ak=你的ak"/script ak ,注意是要浏览器端的ak,这个直接到百度开发者平台申请。 引入layui,这个大家可以
                  在https站点中使用微信公众平台的二维码时,提示此图片来自xxx,未经允许不可使用。遇到这样的问题应该如何解决呢? 先说解决方案,在img标签中添加referrerpolicy属性值为no-referrer im
                  将设计排版好的页面html代码上传到数据库,再读取出来的时候发现所有的div都被替换成了p标签。 解决方法: 首先在ueditor.all.js文件内搜索allowDivTransToP,找到如下的代码,将true设置为fal
                  留白这个概念,对于设计师的你来说,应该不陌生啦!今天html5模板网跟大家再来聊聊留白设计如何应用在我们的APP或是网页中。而且运用更多的留白设计有什么好处呢?
                  时间飞逝,一转眼即到2014年的中旬,今天html5模板网跟大家回顾下7月第二周的一些重点移动APP行业时事,还有html5模板网跟大家分享的一些APP设计干货。我们都知道,设计是
                    <legend id='QE2EQ'><style id='QE2EQ'><dir id='QE2EQ'><q id='QE2EQ'></q></dir></style></legend>
                      <tbody id='QE2EQ'></tbody>
                      <bdo id='QE2EQ'></bdo><ul id='QE2EQ'></ul>
                      1. <i id='QE2EQ'><tr id='QE2EQ'><dt id='QE2EQ'><q id='QE2EQ'><span id='QE2EQ'><b id='QE2EQ'><form id='QE2EQ'><ins id='QE2EQ'></ins><ul id='QE2EQ'></ul><sub id='QE2EQ'></sub></form><legend id='QE2EQ'></legend><bdo id='QE2EQ'><pre id='QE2EQ'><center id='QE2EQ'></center></pre></bdo></b><th id='QE2EQ'></th></span></q></dt></tr></i><div id='QE2EQ'><tfoot id='QE2EQ'></tfoot><dl id='QE2EQ'><fieldset id='QE2EQ'></fieldset></dl></div>

                        <small id='QE2EQ'></small><noframes id='QE2EQ'>

                            <tfoot id='QE2EQ'></tfoot>