Suite

Layer.setQuery n'est pas une erreur de fonction de CartoDB ?

Layer.setQuery n'est pas une erreur de fonction de CartoDB ?


J'obtiens cette erreur :

SELECT * FROM parcels_sa WHERE parcel_id ILIKE '%001089800%' mapscript.js?1437514849:273
TypeError non capturé: layer.setQuery n'est pas une fonction (fonction anonyme) @ mapscript.js?1437514849:273x.event.dispatch @ jquery.min.js:5x.event.add.y.handle @ jquery.min.js:5 cartodb.js:5 GET http://dchadney.cartodb.com/api/v2/sql?q=SELECT%20ST_XMin(ST_Extent(the_geo… arcels_sa%20WHERE%20parcel_id%20ILIKE%20%27%25001089800%25%27) %20as%20subq

net::ERR_EMPTY_RESPONSE

function parcelSearch(layer) { var sql = new cartodb.SQL({ user: 'username' }); var $options = $('#searchParcel'); $options.click(function(e) { var streetNam = document.getElementById('parcelid').value; if(streetNam === "") { alert("Veuillez saisir l'ID de la parcelle"); } else { query = "SELECT * FROM parcels_sa WHERE parcel_id ILIKE '%" + streetNam + "%'" ; console.log(query); layer.getSubLayer(0).show(); sql.getBounds(query).done(function(bounds) { latlon = bounds[0]; // console.log(latlon); //alert(latlon); $('.latlongit').val(latlon); map.fitBounds(bounds); }); } // modifier la requête dans la couche pour mettre à jour la carte layer.setQuery(query); }); var $clear = $('#clear'); $clear.click(function(e) { $('#parcelid').val("); query = "SELECT * parcels_sa"; console.log(query); layer.getSubLayer(0).hide(); sql .getBounds(query).done(function(bounds) { latlon = bounds[0]; map.fitBounds(bounds); }); // modifier la requête dans la couche pour mettre à jour le fond de carte layer.setQuery(query); } ); }

Vous avez probablement besoinlayer.setSQL(requête). Comme le dit l'erreur, setQuery n'est pas une fonction dans CartoDB.js.

Documentation poursetSQLest ici et ici.


Voir la vidéo: MyMaps: Layered Map Basics