1/ A partir de cette page de test toute simple avec 3 niveaux de zoom, si on agit avec les touches - et + on actionne le zoom et la carte verte reste au centre du viewer: Comportement idéal pour moi. C'est simple et très intuitif.
2/ Passons maintenant à l'action du zoom avec la molette de la souris.
Si le curseur est dans la zone verte: En décroissant le zoom, arrivé au minZoomLevel, si on continue de tourner la molette dans le même sens, généralement la carte se décale par unité de distance>> Ce comportement est guère compréhensible. Parce que la molette agit sur le zoom centrée sur le curseur(ce qui, je crois, est la solution retenue dans la primitive, mais cela introduit une première question de ma part comment, simplement, n'agir que sur le zoom et non sur le recentrage de la carte???), puis uniquement sur le déplacement de la carte (fonction assurée par ailleurs par le clic maintenu!). Arrivée en butée sur minZoomLevel, la molette ne devrait plus être active.
Mais plus grave et plus problématique en terme d'ergonomie, quand le curseur est en dehors de la zone verte, la molette fait diminuer le zoom en déplaçant la carte par rapport au curseur dans la logique retenue par l'IGN, ET arrivé au minZoomLevel, un nouveau cran de la molette fait que la carte ne se recentre plus de la même manière (rupture de logique!) mais se repositionne bizarrement en fonction du point de centrage défini dans l'interfaceviewer et de la place du curseur sur le viewer.
Donc en fonction du positionnement du curseur (dans ou hors zone verte) le comportement de la molette au-delà du minZoomLevel n'est pas identique! A mon humble avis, il y a là un problème à corriger.
Mais au-delà, en bref, comment faire simplement (sans s'attaquer à une surcharge bien lourde pour moi!) pour que la molette ait un comportement similaire aux touches de clavier + et -, qui se limite uniquement entre minZoomLevel et maxZoomLevel, sans aucune action de déplacement de la carte qui doit rester du seul domaine du clic maintenu?
Partager