2016-05-04 4 views
0

Следуйте примеру на карте лифтов (http://leafletjs.com/examples/layers-control.html), я могу создать группу слоев cities, которая показана в overlayMapsCities.Получить литерную группу по названию строки

На более позднем этапе (т. Е. Другая функция) можно ли получить объект layer group по имени cities или Cities? Затем я могу использовать его в другой функции (например, листовки-поиск (https://github.com/stefanocudini/leaflet-search)).

Это мой псевдо-код для демонстрации моего вопроса

find_layer_by_name = function(name){ 
    // add code here 
}; 
var searchLayer = find_layer_by_name('cities'); 
var searchcontrol = new L.Control.Search({layer: searchLayer}); 

Позвольте мне знать, если мой вопрос не ясно.

+0

вы хотите получить 'cities' здесь' вар overlayMaps = { "Города": города }; ' – muzaffar

ответ

1

Если вы создали объект overlayMaps с парами ключ/значение (как в примере с лифтом), вы можете использовать квадратную скобку с вашим ключом в качестве строки, чтобы получить соответствующий слой. Ниже присвоит cities к searchLayer:

var overlayMaps = { 
    "Cities": cities 
}; 

var searchLayer = overlayMaps["Cities"]; 
Смежные вопросы