Cartes secondaires et synchronisation¶
✅ Pour afficher plusieurs cartes (comparaison, loupe…) : une ol.Map native par panneau et une seule ol.View partagée. Le déplacement et le
zoom se propagent sans verrou anti-boucle. Si la synchronisation est désactivable, donnez à chaque carte une copie de la vue.
- ⚠️
ol.control.defaultsn'est pas appelable selon le build d'OpenLayers de la plateforme : utilisezcontrols: []. - ⚠️ Carte créée à 0×0 : si le
<div>est masqué ou sans taille au moment dunew ol.Map, aucune tuile ne charge. Attendez une taille non nulle (un courtsetTimeoutrépété) et appelezmap.updateSize()quand le panneau redevient visible. - ⚠️
geoApplication._baseLayersest vide au démarrage : il n'est rempli qu'après l'initialisation complète de l'application. Lisez-le à l'ouverture de votre interface (action de l'utilisateur), pas dansexecuteWhenInitialized, et construisez vos couches à ce moment-là. - ✅ Deux modes de fonds de plan (Générateur, « Gérer les fonds de plan dans la carte ») : désactivé, les fonds sont composés côté serveur en une
seule tuile GEO ; activé, ce sont de vraies couches OpenLayers. Construire vos couches depuis
_baseLayersfonctionne dans les deux cas. - Construction par type de connexion : WMTS → lire les GetCapabilities puis
ol.source.WMTS.optionsFromCapabilities(essayer l'identifiant puis le nom de la couche) ; WMS →ol.source.TileWMS; XYZ/TMS →ol.source.XYZ. - ⚠️ Fonds protégés : ne contournez pas l'authentification de la plateforme. Un fond servi derrière le proxy de GEO doit rester servi par ce proxy ; n'allez pas chercher d'identifiants dans la configuration côté navigateur.
- ⚠️ La lecture des GetCapabilities par
fetchest soumise au CORS (le chargement des tuiles en<img>ne l'est pas). Si le serveur ne renvoie pas les en-têtes CORS, construisez la grille de tuiles WMTS à la main.