Как нарисовать объект (точку) в векторном слое с кластером стратегии в открытых слоях - PullRequest
0 голосов
/ 22 сентября 2019

Я хочу добавить точку на векторный слой в открытых слоях, но когда я использую кластер стратегии, я не могу добавить точки.

Я написал этот код (http://jsfiddle.net/xd2n9qk7/2/), который показывает ситуацию. Как мы можем видеть, когда я нажимаю, чтобы добавить точку, все остальные точки исчезают и остается только одна.

map = new OpenLayers.Map('map');
var base = new OpenLayers.Layer.WMS("OpenLayers WMS",
                                    "http://vmap0.tiles.osgeo.org/wms/vmap0", {
                                        layers: 'basic'
                                    });

clusters = new OpenLayers.Layer.Vector("Clusters", {
    strategies: [new OpenLayers.Strategy.Cluster()],
});

 point = new OpenLayers.Control.DrawFeature(clusters, OpenLayers.Handler.Point, {
    eventListeners: {
        "featureadded": function(){console.log(clusters.features)}
    }
});
 map.addLayers([base, clusters]);
 map.addControl(point)
 point.activate()
 map.setCenter(new OpenLayers.LonLat(0, 0), 2);   
 clusters.addFeatures(features);

Я ожидаю, что точка будет добавлена ​​в кластер, а сам слой будет перерисован.

...