Suite

Erreur/Bug dans la dernière version ol3 (3.9) avec insertAt

Erreur/Bug dans la dernière version ol3 (3.9) avec insertAt


J'ai récemment mis à jour mon ancienne version de 3.4 vers 3.9

J'ai un layertree dragandrop qui obtient essentiellement la position actuelle du calque, le supprime et l'insère dans la nouvelle position en utilisant:

map.getLayers().insertAt(newIndex, layer);

cela fonctionne très bien sur V3.4 pour les deux (bingsmap/google et pour mes couches WMS)

Cependant, en utilisant le même code sur la dernière version (3.9), j'obtiens une erreur pour mes couches WMS uniquement (pas pour bings/googlemaps) comme suit

Uncaught AssertionError : échec de l'assertion : auditeurs déjà enregistrés

Des réflexions sur le sujet ?


essayez d'abord de supprimer le calque, puis de le rajouter. Disons que vous voulez le déplacer de l'index 6 à l'index 2, vous devriez faire :

var ancienindex = 6 ; var nouvelindex = 2 ; map.getLayers().removeAt(oldindex); map.getLayers().insertAt(newIndex, layer);

Cela a fonctionné pour moi. J'ai eu "Échec de l'assertion : auditeurs déjà enregistrés" avec

var suivant = couches.item(index - 1); couches.setAt(index - 1, couche); couches.setAt(index, suivant);avec lequel j'ai travaillé :

(en utilisant l'ancienne version v3.15.1) couches.removeAt(index); couches.insertAt(index-1, couche);