1

我必須創建一個非默認的markerCluster顏色。我檢查了API,似乎他們建議修改divIcon創建後(我相信,我的學習宣傳單張,UI的傳單,MarkerCluster都在同一時間)是這樣的:如何使用ui-leaflet和Markercluster更改markercluster的顏色?

var markers = L.markerClusterGroup({ 
iconCreateFunction: function(cluster) { 
    return L.divIcon({ html: '<b>' + cluster.getChildCount() + '</b>' }); 
} 
}); 

https://github.com/Leaflet/Leaflet.markercluster

我被填充數據的方式是在創作,更接近於這樣的:

layers: { 
       baselayers: { 
        osm: { 
         name: 'OpenStreetMap', 
         type: 'xyz', 
         url: 'http://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', 
         layerOptions: { 
          subdomains: ['a', 'b', 'c'], 
          attribution: '&copy; <a href="http://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors', 
          continuousWorld: true 
         } 
        }, 
        cycle: { 
         name: 'OpenCycleMap', 
         type: 'xyz', 
         url: 'http://{s}.tile.opencyclemap.org/cycle/{z}/{x}/{y}.png', 
         layerOptions: { 
          subdomains: ['a', 'b', 'c'], 
          attribution: '&copy; <a href="http://www.opencyclemap.org/copyright">OpenCycleMap</a> contributors - &copy; <a href="http://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors', 
          continuousWorld: true 
         } 
        } 
       }, 
       overlays: { 
        hillshade: { 
         name: 'Hillshade Europa', 
         type: 'wms', 
         url: 'http://129.206.228.72/cached/hillshade', 
         visible: true, 
         layerOptions: { 
          layers: 'europe_wms:hs_srtm_europa', 
          format: 'image/png', 
          opacity: 0.25, 
          attribution: 'Hillshade layer by GIScience http://www.osm-wms.de', 
          crs: L.CRS.EPSG900913 
         } 
        }, 
        cars: { 
         name: 'Cars', 
         type: 'markercluster', 
         visible: true 
        } 
       } 
      }, 
      markers: { 
       m1: { 
        lat: 42.20133, 
        lng: 2.19110, 
        layer: 'cars', 
        message: "I'm a moving car" 
       }, 

我還挺從類似的偷(分叉和折斷)網站: https://github.com/tombatossals/angular-leaflet-directive/blob/master/examples/0216-layers-overlays-markercluster-example.html 我試圖用不同的顏色添加圖標屬性無濟於事。我試圖改變多種類型聚集在一起的顏色。任何幫助,將不勝感激。

在此先感謝。

+0

你可以創建一個[小提琴](https://jsfiddle.net)你的情況? – muzaffar

+0

對不起@ muzaffar我不能。它是一個專有問題。我會研究一個通用的例子,但這可能需要一些時間。謝謝你的迴應。 – jsNoob

回答

0

所以最大的問題是我對如何使用divIcon的理解是有缺陷的。我認爲我需要在實例化後改變顏色,這是不正確的。這是隻是將代碼添加到我的初始服務一個簡單的問題:

   cars: { 
        name: 'Cars', 
        type: 'markercluster', 
        visible: true, 
        layerOptions:{ 
          iconCreateFunction: function(cluster) { 
           return L.divIcon({ html: '<b>' +cluster.getChildCount() + '</b>' }); 

        } 
       } 

我沒有relize說,他們提供的真的只是修改已有對象的API功能(更準確地改變的實例化目的)。如果你想實例化它,只需要在這個layerOptions密鑰下添加變量名稱,只需在API上找到該變量即可。

相關問題