1

我有一个带有很多标记的 Openlayers3 地图,我想更有效地处理它。

我看到 Openlayers 的最后一个版本有一个集群方法,我想在第三个版本上使用同样的方法:http: //openlayers.org/dev/examples/strategy-cluster.html

我必须使用向量吗?

这是我当前的代码:

$.getJSON( "http://localhost/folder/address.json", function(data){

     for(var k in data) {

      var companyCity = data[k].city;
      var companyName = data[k].company;
      var companyLocation = data[k].address;
      var companyLat = data[k].lat;
      var companyLng = data[k].lng;
      var companyPosition = transform([companyLng,companyLat]);

       var elt = $('<p title="'+ companyName +': '+ companyLocation +', '+ companyCity +'"></p>').css({

        "width": '5px',
        "height": '5px',
        "border-radius": '50%',
        "background-color": '#E64411',
        "opacity" : '.5'

       });



       var marker = new ol.Overlay({
        map: map,
        position: companyPosition,
        element: elt
       });


    }
  });

有人已经做到了吗?

4

3 回答 3

1

集群策略确实依赖于将标记添加到图层。有充分的理由不这样做吗?如果您能够将 address.json 存储为 geoJSON,那么使用图层会更加“自动”。

如果有充分的理由不使用层,您可以获取过滤策略代码并将其自定义为在没有层的情况下工作。查看GitHub 上的 OpenLayers.Strategy.Cluster,您似乎只需要手动将功能设置为您创建的功能数组,然后在适当的时间调用 cluster()。

于 2013-10-17T19:09:57.080 回答
1

我知道这篇文章很旧,但现在有一个集群示例

于 2014-09-08T09:22:45.327 回答
0

截至 2013 年 11 月 14 日,集群在 OpenLayers 3中尚不可用。 https://groups.google.com/forum/#!topic/ol3-dev/UDjoZSX3Wx4

于 2014-01-22T10:42:48.213 回答