2013-10-17 149 views
1

我有一個帶有很多標記的Openlayers3地圖,我想更有效地處理它更多 。Openlayers 3性能標記

我看到有上的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 
     }); 


    } 
    }); 

有人已經做了呢?

回答

1

集羣策略確實依賴於將標記添加到圖層。有沒有強有力的理由不這樣做?如果您可以將address.json存儲爲geoJSON,那麼使用圖層要更「自動」。

如果沒有強烈的理由不使用圖層,您可以獲取過濾器策略代碼並將其自定義爲在沒有圖層的情況下工作。看看OpenLayers.Strategy.Cluster on GitHub,看起來您只需手動將功能設置爲您創建的功能陣列,然後在適當的時間調用cluster()。