Mon application sur les bateaux commence à avoir de l'allure puisque j'ai réussi à ne rafraîchir que les couches vectorielles (mes bateaux) qui peuvent évoluer chaque minute. Les couches Geoportail et WMS ne sont plus rafraîchies chaque minute. C'est donc bien meilleur en terme de bande passante et de temps de réponse.
Mais, car il reste un hic, la consommation mémoire augmente à chaque rafraîchissement et, vu que c'est une appli, qui doit fonctionner 24/24, 7/7, ce ne sera pas fiable.
Voilà le code que j'utilise toutes les minutes pour effacer de ma carte les éléments variables avant de les recalculer :
Est-ce assez efficace ? Peut-on faire autrement ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 function NettoyerCouchesBateaux() { var p,i; // Supprimer les popups de la carte for (p=map.popups.length-1;p>=0;p--) { map.removePopup(map.popups[p]); } // Supprimer les markers de la liste for (i=layerAIS.markers.length-1;i>=0;i--) { layerAIS.removeMarker(layerAIS.markers[i]); } // Vider la couche Vector layerHisto.destroyFeatures(); }
Partager