简介
您常常需要在地图上展示非常多的点。当地图可视范围内的点越多,点与点的图标堆叠、覆盖的效果就会越严重。为了保证展示效果,本节介绍如何使用点聚合功能,聚合区域内的点,使得可以自适应地图的比例尺进行数据展示。
提供的点聚合工具
MarkerClusterer:多标注聚合器。此工具解决加载大量点要素到地图上造成缓慢,且产生覆盖现象的问题。详情可见开源库。
点聚合过程
1在页面的头部应用点聚合工具开源库的文件
<script type="text/javascript" src="https://api.map.baidu.com/library/TextIconOverlay/1.2/src/TextIconOverlay_min.js"></script> <script type="text/javascript" src="https://api.map.baidu.com/library/MarkerClusterer/1.2/src/MarkerClusterer_min.js"></script>
2在代码中添加Marker,实例化点聚合
var MAX = 10; var markers = []; var pt = null; var i = 0; for (; i < MAX; i++) { pt = new BMap.Point(Math.random() * 40 + 85, Math.random() * 30 + 21); markers.push(new BMap.Marker(pt)); } //最简单的用法,生成一个marker数组,然后调用markerClusterer类即可。 var markerClusterer = new BMapLib.MarkerClusterer(map, {markers:markers});