聚合图组件


效果图

用法

示例

//创建地图,并设置初始中心点和级别
map = W.map("mapContainer", {
    center : [35.53222622770337, 106.875],
    zoom : 5,
    serverUrl: 'http://localhost:8080/tileProxy'
});
//创建聚合图标注组
var markers = new W.MarkerClusterGroup();
var markersList = [];
//生成固定个坐标
function populate() {
    for (var i = 0; i < 1000; i++) {
        var m = new W.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 W.LatLng(
        southWest.lat + latSpan * Math.random(),
        southWest.lng + lngSpan * Math.random());
}
markers.on('clusterclick', function (a) {
    //console.log(a);
});
markers.on('click', function (a) {
    //alert('marker ' + a.layer);
});
populate();
//将聚合图添加到地图上
map.addLayer(markers);

构造方法

构造方法 描述
W.MarkerClusterGroup(opt?) 构造方法

构造属性

属性名 类型 默认值 描述
showCoverageOnHover boolean true 当鼠标经过聚合图标时,是否显示所有被聚合标注的边框范围。
zoomToBoundsOnClick boolean true 当点击聚合图标时,是否切换地图当前可视范围到聚合标注范围。
spiderfyOnMaxZoom boolean true 当地图在最大级别时,点击聚合图标是否显示所有被聚合的标注。
removeOutsideVisibleBounds boolean true 是否显示被聚合标注的外边框。
spiderLegPolylineOptions object { weight: 1.5, color: '#222', opacity: 0.5 } 当鼠标放置在聚合图标上时,显示的范围线的样式信息。
iconCreateFunction function 用于自定义marker。

方法

方法名称 描述
addLayer( W.Marker) 添加一个标注到聚合图层。
addLayers(W.Marker[]) 添加一组标注到聚合图层。
removeLayer(W.Marker) 从聚合图层删除一个标注。
removeLayers(W.Marker[]) 从聚合图层删除一组标注。
clearLayers() 清空标注图层。

事件

事件名称 用法描述
clusterclick markers.on('clusterclick',function(a){// a.layer 为聚合图对象 console.log('cluster '+ a.layer.getAllChildMarkers().length);});

results matching ""

    No results matching ""