Suite

Cartodb TypeError : layer.getSubLayer n'est pas une fonction

Cartodb TypeError : layer.getSubLayer n'est pas une fonction


Quelqu'un peut-il me dire pourquoi j'obtiens cette erreur ? Cela se produit lorsque j'essaie de filtrer par une action de calque. J'ai également essayé de faire le didacticiel cartodb sur "Toggle the Map View" en le suivant ligne par ligne et j'obtiens la même erreur.

carte var; function init(){ // lancer la carte du dépliant map = new L.Map('map', { center: [39,-95], zoom: 4, minZoom: 3 }) L.tileLayer('http://{ s}.tile.osm.org/{z}/{x}/{y}.png">

Nous aurions besoin d'en savoir plus sur votre carte pour vous aider davantage, mais assurez-vous que :

  • Vous accédez à la couche que vous voulez. Vous utilisez à la fois layer.getSubLayer(1) et layer.getSubLayer(0), vous ne savez pas si vous en êtes conscient :-)
  • Assurez-vous que "couche" est défini. Javascript accède peut-être à une variable qui n'a pas encore été déclarée. Vous pouvez déplacer ce morceau de code dans le rappel onDone de createLayer pour vous assurer que la couche existe lorsque vous essayez d'y accéder
  • Quelle version de CartoDB.js utilisez-vous ? Veuillez noter que l'URL non versionnée (http://libs.cartocdn.com/cartodb.js/v3/cartodb.js) n'est plus prise en charge et importe une ancienne version (3.11.23, la dernière de 3.11 est 3.11 .38) et vous pouvez utiliser une version maintenant -- comme http://libs.cartocdn.com/cartodb.js/v3/3.15/cartodb.js. Je mentionne cela parce que les derniers changements dans CartoDB.js étaient dus à la gestion des couches.