1

Мне нужно создать цвет немаркетов по умолчанию. Я проверил API, и кажется, что они предлагают модификации Divicon после создания (я полагаю, я учусь листовка, щ-листовки, MarkerCluster все в то же время), чтобы что-то вроде этого:Как использовать ui-sheetlet и 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.