2016-10-17 10 views
0

У меня есть пять анимированных карт времени, созданных в картоне. Мне нужно отображать их один за другим, когда на моей веб-странице нажата кнопка.cartodb - отображает и управляет несколькими картами временных рядов на одном и том же слое плитки

Вот скриншот моей страницы screenshot

Идея заключается в том, что только соответствующее время серии карт должна отображаться на кнопке щелкнул.

Мне удалось получить тепловые карты для загрузки нажатием кнопки с помощью метода ниже, но он не очищает ранее активный слой, а также контроль временного ряда (воспроизведение/пауза), по-видимому, применим только к начальному слою ,

var LayerActions = { 

button1: function(){ 
    var sublayer = layer.getSubLayer(0); 
    cartodb.createLayer(map, layerUrl, layerOptions).addTo(map);    
    return true; 
    }, 

    button2: function(){ 
    cartodb.createLayer(map, layerUrl2, layerOptions).addTo(map); 
    return true; 
    } 

Цените, если кто-то может указать мне в правильном направлении.

Заранее благодарен!

yajith

ответ

0

Вместо создания и удаления слоев, я рекомендую прячась и показывать их, как описано in this working example.

Во-первых, вам необходимо создать функцию createSelector, которая принимает в качестве аргумента layers и активируется при нажатии. Таким образом, показывая и скрывая ваши слои по мере необходимости. Во-вторых, создайте визуализацию или a layer with sublayers и вызовите предыдущую функцию.