2013-10-17 9 views
1

많은 마커가있는 Openlayers3 맵이 있는데 더 효율적으로 처리하고 싶습니다. . http://openlayers.org/dev/examples/strategy-cluster.htmlOpenlayers 3 성능 마커

내가 벡터를 사용해야합니까 :

나는 세 번째 버전에 같은 일을 사용하는 싶습니다 Openlayers 및 I의 마지막 버전에서 클러스터 방법이 있었다 보았다?

여기에 내 현재 코드 :

$.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

이 게시물은 오래된 것으로 알고 있지만 지금은 Clustering example입니다.

1

클러스터 전략은 마커를 레이어에 추가하는 데 의존합니다. 이 일을하지 않을 강한 이유가 있습니까? geoJSON으로 저장된 address.json을 가질 수 있다면 레이어를 사용하는 것이 훨씬 "자동"됩니다.

레이어를 사용하지 않을 강력한 이유가있는 경우 필터 전략 코드를 가져 와서 레이어없이 작동하도록 사용자 정의 할 수 있습니다. OpenLayers.Strategy.Cluster on GitHub을 보면, 만든 기능의 배열에 기능을 수동으로 설정하고 적절한 시간에 cluster()를 호출하면됩니다.