Viac

FeatureClick nebude fungovať v cartoDB


EDIT: Odkaz na repo obsahujúci súbory. Otvorindex.htmlsúbor vdovozavývozpriečinky.

Môžem dostať všetko okremfeaturecClickpracovať.

Môj JS:

window.onload = function () {var cartoDbTableName = 'sipri_import_export_map_1950_2014'; var domId = 'mapa'; var mapStyle = document.getElementsByClassName ('map-style'); var lat = 0; var lon = 0; var zoomLvl = 2; var options = {center: [lat, lon], zoom: zoomLvl}; var mapObject = nový L.Map (domId, možnosti); var layerSource = {user_name: 'chrismp', type: 'cartodb', sublayers: [{sql: "SELECT * FROM" + cartoDbTableName + "WHERE (gwsyear <= 1950 AND gwsyear> 0)", cartocss: mapStyle [0]. innerHTML}]}; L.tileLayer ('http: // {s} .tile.openstreetmap.org / {z} / {x} / {y} .png ">

Vo svojej vrstve musíte definovať dostupné stĺpce interaktivity:

cartodb.createLayer (mapa, {typ: "cartodb", meno_pouzivatela: meno_uzivatela, podvrstvy: [{sql: "SELECT * FROM table", cartocss: myCSS, interaktivita: ['cartodb_id', 'atribút1', 'atribút2']}} ]})

Aby interaktivita fungovala, musíte zahrnúť stĺpce z vašej údajovej tabuľky, s ktorými chcete interagovať. Vo vašom prípade to vyzerá, že by vás mohla zaujímaťgwsyearstĺpec vašich údajov.

V rámci createLayer musíte svoj kód zmeniť nasledovne:

cartodb.createLayer (mapObject, layerSource) .addTo (mapObject) .on ('done', function (layer) {layer.getSubLayer (0) .setInteraction (true); layer.getSubLayer (0) .setInteractivity ('gwsyear') ; // na povolenie interaktívnej vrstvy je potrebné zahrnúť aspoň jeden stĺpec .getSubLayer (0) .on ('featureClick', function (e, latlng, pos, data, subLayerIndex) {console.log (e, latlng, pos, data , subLayerIndex);}). on ('error', function (err) {console.log ('featureClick error:' + err);});}). on ('error', function (err) {console. log (chyba);});

Rozdiel je v pridaní:

layer.getSubLayer (0) .layer.getSubLayer (0) .setInteraction (true); layer.getSubLayer (0) .setInteractivity ('gwsyear');

Ak vám nejde o to, ktorý stĺpec zahrnúť, vložtecartodb_idnamiesto toho je to agnostickejší stĺpec.


Pozri si video: Create a Map in CARTO (Október 2021).