leaflet 点聚合(点击后散开)

1、创建地图

map = L.map('canvas_id', {
	maxZoom: 18,
	minZoom: 1,
	zoom: _zoom,
	center: [_center.lat, _center.lng],
	contextmenu: true,   // 右键点击事件,需要leaflet.contextmenu.min.js插件
    contextmenuWidth: 140,
     contextmenuItems: [{
         text: '关联设备...',
         callback: showCoordinates
     }]
})
 L.supermap.tiandituTileLayer(
   {
        layerType: 'img',
        key: '1d109683f4d84198e37a38c442d68311'
    }
).addTo(map);
L.supermap
    .tiandituTileLayer({
        isLabel: true,
        key: '1d109683f4d84198e37a38c442d68311'
    })
    .addTo(map);

2、聚合

 //删除原来的标注
 markerClusterer && markerClusterer.clearLayers && markerClusterer.clearLayers()
 
 // 初始化点聚合
 markerClusterer = L.markerClusterGroup({
	spiderfyOnMaxZoom: false,
	showCoverageOnHover: false,
	zoomToBoundsOnClick: true
 })

 // 聚合点点击事件,点击展开点
 markerClusterer.on('clusterclick', function(e) {
 	e.layer.zoomToBounds()
})

3、点

let point = new L.marker([lat, lng], {icon: _selfIcon})
point.addEventListener('mouseover', function(e) {
	// 鼠标悬浮事件, 打开一个弹窗
	L.popup({minWidth: 100})
		.setLatLng(e.latlng.lat, e.latlng.lng)
		.setContent(_content)
		.openOn(map)
})
point.addEventListener('mouseout', function(e){
	// 鼠标移走关闭弹窗
	map.closePopup()
})

// 把点添加到 markerClusterer 
markerClusterer.addLayer(point)
// 把 markerClusterer 添加到 map 中
markerClusterer.addTo(map)
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值