Exercices Tremblements de Terre (suite)
Exercice - Tremblements de terre (suite)#
À la suite de l’exercice des tremblements de terre :
- Ajoutez une popup lors du click sur chaque point (basez-vous sur les exemples du cours)
- La popup doit contenir :
- un titre avec la magnitude (clé
mag
) - un texte avec la date, dans le format local (clé
time
, et utiliseznew Date(timestamp).toLocaleString()
) - un texte avec le lieu (clé
place
)
- un titre avec la magnitude (clé
Remarquez dans OpenLayers le «problème» de la gestion multi-mondes en cliquant sur un tremblement de terre au large de la Nouvelle-Zélande.
Pou palier cela, deux solutions :
- empêcher le «multi-monde» avec l’option
wrapX: false
sur la source - ou, calculer et utiliser les coordonnées au sein du monde courant (voir code)
let worldWidth = ol.extent.getWidth(map.getView().getProjection().getExtent());
let world = Math.floor((map.getCoordinateFromPixel(evt.pixel)[0] + worldWidth/2)/worldWidth);
let coords = feature.getGeometry().getCoordinates();
popup.setPosition([coords[0] + world * worldWidth, coords[1]]);