legras / uav3i

HMI for Interreg IV A program 3i
0 stars 1 forks source link

Coordonnées de carto OSM en int #2

Closed legras closed 10 years ago

legras commented 10 years ago

JMapViewer.getMapPosition(double lat, double lon, boolean checkOutside)

Renvoie un Point AWT dont les coordonnées sont en int. Ca donne des effets disgracieux sur l'affichage de la trajectoire.

Pas certain qu'on trouve une solution...

phtanguy commented 10 years ago

Il se base sur les pixels de la représentation graphique... aller plus bas ça ne veut rien dire dans ce contexte même si on a une précision plus importante avec les données GPS. Il y a une méthode de JMapViewer qui donne la taille en mètre d'un pixel (getMeterPerPixel), à un niveau de zoom donné, c'est la précision max. On se fait payer des Mac Retina par 3i pour limiter le problème ?

legras commented 10 years ago

Si on est bien en Mercator et que je comprend bien Mercator, on peut utiliser JMapViewer.getMapPosition pour récupérer une origine et ensuite faire les calculs nous-mêmes en float !

Je ferai ça plus tard.

phtanguy commented 10 years ago

On peut pas clore celui-là ? Je pense que ça marche...

legras commented 10 years ago

C'est fait sur la branche Manoeuver-dev. Pas de changement notable sur le dessin de la trajectoire (le -- léger -- souci doit venir d'ailler), mais au moins je n'accumule plus d'erreurs d'arrondis dans les interactions tactiles.