2016-12-20 6 views
1

Я новичок в листовке, и я застрял здесь. Я получаю xml с местоположениями и их типами (lat, long, type). Я хочу создать слой маркера для каждого уникального типа, который я получаю, но невозможно узнать, сколько типов я буду получать каждый раз. Поэтому я хотел бы спросить, если это можно сделать массив слоев, что-то вроде:Листовка динамически создает маркерные слои

for (var i = 0; i < locTypes.length; i++){ 

    var markerLayers[i] = new L.layerGroup(); 
    //populateLayer(); 
} 

Моя цель, чтобы скрыть/показать конкретные слои маркер на карте.

ответ

0

Ну, я, наконец, удалось заставить его работать: locInfo является 3d массив, который хранит 1.Location типа 2.place 3.Lat и Long

var marker; 
markerLayers = []; 

//for every type 
for (var i = 0; i < locInfo.length; i++) 
{ 
    markerLayers[i] = new L.layerGroup(); 

    //for every place of the specific type 
    for (var j = 0; j < locInfo[i].length; j++) 
    { 
     marker = new L.marker([locInfo[i][j][0],locInfo[i][j][1]]); 
     markerLayers[i].addLayer(marker); 
    } 
    map.addLayer(markerLayers[i]); 
}