Par curiosité j'ai aussi essayé Chrome dans sa version "Canary build" (qui
s'installe séparément) :
Version 26.0.1381.0 canary
Elle non plus ne fonctionne pas sous www.openstreetmap.org, la carte ne
glisse toujours pas en cliquant-trainant la souris (cela veut déplacer
l'image d'une tuile), et la molette de fait pas de zoom.

Par hasard j'ai cherché parmi les flags avancés de Chrome (sur la page
avancée "about:flags") et j'en ai trouvé un qui est activé par défaut :


****Enable touch events**** (Mac, Windows, Linux, Chrome OS)
    Force touchscreen support to always be enabled or disabled, or to be
enabled when a touchscreen is detected on startup (Automatic, the default).
    [Automatique] (choix par défaut, les autres options sont "Activé" ou
"Désactivé".


Il se trouve que mon écran dispose d'une surface tactile justement !!!
(avec une connexion USB détectée par Windows comme un stylet ou une
tablette tactile standard). Dans ce cas si je désactive cette option, la
Slippy Map fonctionne bien à la souris (mais pas avec le doigt sur l'écran
tactile). Je n'avais tout bonnement pas essayé de déplacer la carte avec le
doigt sur l'écran !

Ensuite j'ai réactivé cette option par défaut, et la souris ne fonctionne
plus. En revanche la Slippy Map fonctionne cette fois... mais avec le doigt
sur l'écran !

Bref pour que ça fonctionne sous Chrome, il faut :
- soit débrancher le cable USB qui relie mon écran au PC pour son interface
tactile (pour n'utiliser que la souris).
- soit désactiver cette option de Chrome (et utiliser alors uniquement la
souris). Sous IE et Firefox, les deux périphériques souris et surface
tactile sont vus comme un seul, et ne sont pas distingués.
Dans le framework utilisé sur layers.openstreetmap.org, peu importe le
périphérique utilisé ils sont utilisés de la même façon.

Les "*touch events*" sont une nouveauté de Chrome (qui n'existe pas encore
sous IE ou Firefox), ils permettent de distinguer plusieurs périphériques à
l'origine des évènements de molette ou de glisser-trainer et déplacements).
Le javascript utilisé dans le framework sur www.openstreetmap.org ne gère
pas cela correctement ou ne gère QUE le premier périphérique par défaut
(pas le second).
On n'a pas le même framework pour la SlippyMap de
layers.openstreetmap.orgqui génèrent la même action quelque soit le
périphérique utilisé.

La conséquence du support des "touch events" sous Chrome est qu'il va
permettre d'utiliser sur les sites web plusieurs "souris" pour des actions
différentes : la surface tactile de l'écran, un touchpad, une souris
externe, un trackball, voire aussi un joystick ou un bouton de manette de
jeux, ou des manettes de jeux comportant plus de capteurs directionnels
utilisables dans les jeux en ligne.
_______________________________________________
Talk-fr mailing list
Talk-fr@openstreetmap.org
http://lists.openstreetmap.org/listinfo/talk-fr

Répondre à