Cartodb TypeError: layer.getSubLayer is not a function

المشرف العام

Administrator
طاقم الإدارة
Can anyone tell me why I am getting this error? It happens when I try and filter by a layer action. I also tried to do the cartodb tutorial on "Toggle the Map View" following it line for line and am getting the same error.

var map;function init(){ // initiate leaflet map map = new L.Map('map', { center: [39,-95], zoom: 4, minZoom: 3 }) L.tileLayer('http://{s}.tile.osm.org/{z}/{x}/{y}.png', { attribution: '© OpenStreetMap contributors' }).addTo(map); var layerUrl = 'https://myusername.cartodb.com/api/v2/viz/88afc111-16cf-11e5-a0d9-0e9d021ea90d/viz.json'; var layerOptions = { query: "SELECT * FROM mytable_1", legends:false, cartodb_logo: false } cartodb.createLayer(map, layerUrl, layerOptions) .on('done', function(layer) { map.addLayer(layer); }).on('error', function() { //log the error }); var LayerActions = { all: function(){ layer.getSubLayer(1).setQuery("SELECT * FROM mytable_1"); return true; }, one: function(){ layer.getSubLayer(1).setQuery("SELECT * FROM mytable_1 WHERE overall_rating ILIKE '%1%'"); return true; }, two: function(){ layer.getSubLayer(0).setQuery("SELECT * FROM mytable_1 WHERE overall_rating ILIKE '%2%'"); return true; }, three: function(){ layer.getSubLayer(0).setQuery("SELECT * FROM mytable_1 WHERE overall_rating ILIKE '%3%'"); return true; }, four: function(){ layer.getSubLayer(0).setQuery("SELECT * FROM mytable_1 WHERE overall_rating ILIKE '%4%'"); return true; }, five: function(){ layer.getSubLayer(0).setQuery("SELECT * FROM mytable_1 WHERE overall_rating ILIKE '%5%'"); return true; }, na: function(){ layer.getSubLayer(0).setQuery("SELECT * FROM mytable_1 WHERE overall_rating ILIKE '%NA%'"); return true; } } $('li').click(function(){ $('li').removeClass('selected'); $(this).addClass('selected'); LayerActions[$(this).attr('id')](); })}

أكثر...
 
أعلى