буклет L.Control Overlay

Как новичок в Javscript и использовании буклетов, я не знаю, какой должна быть тема! Используя пример групп слоев и управления слоями в качестве модели, я хочу назначить текст управления наложениям из переменной. Вставка имени переменной просто использует его как текст. Код, который я использовал, выглядит следующим образом.

    var cities_title_0="cities(N-S)"
    var cities_title_1="cities(E-W)"
    var overlays    =   {cities_title_0: cities_layer[0],cities_title_1: cities_layer[1] };
    L.control.layers(null,overlays).addTo(map);

Как я могу получить значение переменной в элементе управления, а не ее имя, пожалуйста.


person disr    schedule 12.07.2018    source источник


Ответы (2)


Ранее (‹= ES5) вам нужно было бы выполнить 2 шага:

  1. Инициализировать объект var overlays = {}
  2. Назначьте вычисляемый ключ: overlays[cities_title_0] = cities_layer[0]
person ghybs    schedule 13.07.2018

Один из способов - поместить имя переменной в [] - например

var cities_title_0="cities(N-S)"
var cities_title_1="cities(E-W)"
var overlays    =   {[cities_title_0]: cities_layer[0], [cities_title_1]: cities_layer[1] };
L.control.layers(null,overlays).addTo(map);
person peeebeee    schedule 13.07.2018
comment
Для справки, это было введено в ES6/ES2015 и называется вычисленные имена/ключи свойств - person ghybs; 13.07.2018
comment
Спасибо, так просто (теперь мне показали). Работал на меня. Ссылка упомянула, дала мне дальнейшее образование. - person disr; 13.07.2018