2016-03-24 13 views
0

Bu uygulamanın açısal-yaprakçık haritasını, yaprakçık-markercluster ve özel küme mantığı ile çalışmak için çalışıyorum. iconCreateFunction'un nerede yaşayacağını anlayamıyorum.Markercluster özel simge stiline sahip Açısal-Broşür

Aşağıdaki bloğun tamamının yanı sıra $scope.markers[id] = {} bloğuna dahil etmeyi denedim.

var bingRoad = { bingRoad: { name: 'Bing Road', type: 'bing', key: bing_key, layerOptions: { type: 'Road', } } }; 
    var bingAerialWithLabels = { bingAerialWithLabels: { name: 'Bing Aerial With Labels', type: 'bing', key: bing_key, layerOptions: { type: 'AerialWithLabels', position: 'front' } } }; 
    var baselayers = { bingRoad: bingRoad.bingRoad, bingAerialWithLabels: bingAerialWithLabels.bingAerialWithLabels }; 

    angular.extend($scope, { 
    center: { 
     lat: someLat, 
     lng: someLong, 
     zoom: 7 
    }, 
    icons: local_icons, 
    markers: {}, 
    layers: { 
     baselayers: baselayers 
    } 
    }); 

Ben kümeleme mantığı kolları kodumu hangi bölümlerinin bilemiyorum? Doğru kümelenirler, ancak kümeden veriye dayalı özel renkler/sınıflar istiyorum. Düşüncesi olan var mı?

cevap

0

Eğer

layerOptions: { 
         showCoverageOnHover: false, 
         disableClusteringAtZoom: 12, 
         iconCreateFunction: function (cluster) { 
          var className = ''; 
          _($scope.songs).forEach(function(song) { 
           switch (song.genre) { 
            case 3: 
             className = 'red'; 
             break; 
            case 2: 
             className = 'yellow'; 
             break; 
            default: 
             className = 'green'; 
             break; 
           } 
          }); 


          return new L.DivIcon({ 
           className: className, 
           iconSize: new L.Point(40, 40) 
          }); 
         } 
        } 
yılında ekleyebilirsiniz