BIGEMPA Js API示例中心

标注聚合显示源代码展示

代码编辑区 运行 下载 还原
<!DOCTYPE html>

<html>
<head>
	<meta charset='UTF-8' />
	<meta name='viewport' content='initial-scale=1,maximum-scale=1,user-scalable=no' />
	<!--
        以下CSS地址请在安装软件了替换成本地的地址
        CSS地址请使用:
        http://localhost:9000/bigemap.js/v2.1.0/bigemap.css
        软件下载地址 http://www.bigemap.com/reader/download/detail201802017.html
    -->
	<link href='http://www.bigemap.com:9000/bigemap.js/v2.1.0/bigemap.css' rel='stylesheet' />
	<!--
        JS地址请使用:
        http://localhost:9000/bigemap.js/v2.1.0/bigemap.js
    -->
	<script src='http://www.bigemap.com:9000/bigemap.js/v2.1.0/bigemap.js'></script>
	<!--引入对应的JS+CSS 相关下载地址 http://www.bigemap.com/Public/offline/marker_cluster/cluster.zip-->
	<link rel="stylesheet" href="/Public/offline/marker_cluster/MarkerCluster.Default.css" />
	<script src="/Public/offline/marker_cluster/bm.markercluster-src.js"></script>
	<style type="text/css">
		*{
			padding: 0;
			margin: 0;
		}
		html,body,#map{
			width: 100%;
			height: 100%;
		}
	</style>
</head>
<body>
	<div id="map"></div>
	<script type="text/javascript">
// 软件配置信息地址,软件安装完成之后使用本地地址,如:http://localhost:9000
BM.Config.HTTP_URL = 'http://www.bigemap.com:9000';

// 在ID为map的元素中实例化一个地图,并设置地图的ID号为 bigemap.googlemap-streets,ID号程序自动生成,无需手动配置,并设置地图的投影为百度地图 ,中心点,默认的级别和显示级别控件
var map = BM.map('map', 'bigemap.googlemap-streets', { center: [0, 0], zoom: 2, zoomControl: true,attributionControl:false });
//登陆聚合对象
var markers = new BM.MarkerClusterGroup({
	showCoverageOnHover: false,//不显示边框
	zoomToBoundsOnClick: true,//点击放大
	removeOutsideVisibleBounds: true,//只显示当前窗口内的内容,
	//使用定义的图标来显示
	//iconCreateFunction: function (cluster) {
    //    var markers = cluster.getAllChildMarkers();
     //   return BM.divIcon({ html: markers.length, iconSize: BM.point(40, 40) });
   //}
});
		var markersList = [];
		//生成多个点
		function populate() {
			for (var i = 0; i < 3000; i++) {
				var m = new BM.Marker(getRandomLatLng(map));
				markersList.push(m);
				markers.addLayer(m);
			}
			return false;
		}
		//根据当前的范围生成随机的点
		function getRandomLatLng(map) {
			var bounds = map.getBounds(),
				southWest = bounds.getSouthWest(),
				northEast = bounds.getNorthEast(),
				lngSpan = northEast.lng - southWest.lng,
				latSpan = northEast.lat - southWest.lat;

			return new BM.LatLng(
					southWest.lat + latSpan * Math.random(),
					southWest.lng + lngSpan * Math.random());
		}
		//对聚合的实例添加一个点击事件。
		markers.on('clusterclick', function (a) {
			alert('cluster ' + a.layer.getAllChildMarkers().length);
		});
		//对标注添加一个点击事件
		markers.on('click', function (a) {
			alert('marker ' + a.layer);
		});
		populate();
		map.addLayer(markers);
	</script>
</body>
</html>