javascript - Why won't featureClick work in my cartoDB map? -
i can except featurecclick
work.
my js:
window.onload = function(){ var cartodbtablename = 'sipri_import_export_map_1950_2014'; var domid = 'map'; var mapstyle = document.getelementsbyclassname('map-style'); var lat = 0; var lon = 0; var zoomlvl = 2; var options = { center: [lat,lon], zoom: zoomlvl }; var mapobject = new l.map(domid,options); var layersource = { user_name: 'chrismp', type: 'cartodb', sublayers: [ { sql: "select * "+cartodbtablename+" (gwsyear <= 1950 , gwsyear > 0)", cartocss: mapstyle[0].innerhtml } ] }; l.tilelayer('http://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png') .addto(mapobject); cartodb.createlayer(mapobject,layersource) .addto(mapobject) .on('done',function(layer){ layer.getsublayer(0).on('featureclick', function(e, latlng, pos, data, sublayerindex) { console.log(e, latlng, pos, data, sublayerinde); }).on('error',function(err){ console.log('featureclick error: '+err); }); }).on('error',function(err){ console.log(err); }); };
my map loads styling, cursor doesn't switch finger-pointer when it's on country, nothing happens when click it. gives?
i had similar problem - feel cartodb's documentation on little patchy... believe need add this:
cdb.vis.vis.addinfowindow(map, sublayers, [/*add desired info fields here*/]);
so example:
cartodb.createlayer(mapobject,layersource) .addto(mapobject) .on('done',function(layer){ //add these 2 lines here sublayers = layer.getsublayer(0); cdb.vis.vis.addinfowindow(map, sublayers, [/*add desired info fields here*/]); layer.getsublayer(0).on('featureclick', function(e, latlng, pos, data, sublayerindex) { console.log(e, latlng, pos, data, sublayerinde); }).on('error',function(err){ console.log('featureclick error: '+err); }); })
hope helps.
Comments
Post a Comment