Propriété de Albiri Sigue
customer 27921 at Fri Mar 11 19:19:45 +0100 2011
Chapitre 34
Cartographie avec MapView et MapActivity 331
pâtés de maisons dans chaque dimension et constitue généralement un bon point de départ
pour vos essais.
Si vous souhaitez que les utilisateurs aient le droit de changer le niveau du zoom, utilisez
l’appel setBuiltInZoomControls(true) : il pourra alors utiliser les contrôles de zoom
qui se trouvent en bas de la carte.
Centrage
Généralement, quel que soit le niveau du zoom, vous voudrez contrôler ce qui est affiché
sur la carte : la position courante de l’utilisateur ou un emplacement sauvegardé avec
d’autres données de votre activité, par exemple. Pour changer la position de la carte, appelez
la méthode setCenter() de MapController.
Cette méthode prend un objet GeoPoint en paramètre. Un GeoPoint représente un emplacement exprimé par une latitude et une longitude. En réalité, il les stocke sous la forme
d’entiers en multipliant leurs vraies valeurs par 1E6, ce qui permet d’économiser un peu de
mémoire par rapport à des float ou à des double et d’accélérer un peu la conversion d’un
GeoPoint en position sur la carte. En revanche, vous ne devez pas oublier ce facteur de
1E6.
Terrain accidenté
Tout comme sur votre ordinateur de bureau, vous pouvez afficher les images satellites avec
Google Maps et Android.
MapView offre la méthode toggleSatellite(), qui, comme son nom l’indique, permet
d’activer ou de désactiver la vue satellite de la surface présentée sur la carte. Vous pouvez
faire en sorte de laisser à l’utilisateur le soin de faire ce choix à partir d’un menu ou,
comme dans NooYawk, via des touches :
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_S) {
map.setSatellite(!map.isSatellite());
return(true);
}
else if (keyCode == KeyEvent.KEYCODE_Z) {
map.displayZoomControls(true);
return(true);
}
return(super.onKeyDown(keyCode, event));
}
Livre Android.book Page 331 Dimanche, 8. novembre 2009 12:23 12
customer 27921 at Fri Mar 11 19:19:45 +0100 2011
Chapitre 34
Cartographie avec MapView et MapActivity 331
pâtés de maisons dans chaque dimension et constitue généralement un bon point de départ
pour vos essais.
Si vous souhaitez que les utilisateurs aient le droit de changer le niveau du zoom, utilisez
l’appel setBuiltInZoomControls(true) : il pourra alors utiliser les contrôles de zoom
qui se trouvent en bas de la carte.
Centrage
Généralement, quel que soit le niveau du zoom, vous voudrez contrôler ce qui est affiché
sur la carte : la position courante de l’utilisateur ou un emplacement sauvegardé avec
d’autres données de votre activité, par exemple. Pour changer la position de la carte, appelez
la méthode setCenter() de MapController.
Cette méthode prend un objet GeoPoint en paramètre. Un GeoPoint représente un emplacement exprimé par une latitude et une longitude. En réalité, il les stocke sous la forme
d’entiers en multipliant leurs vraies valeurs par 1E6, ce qui permet d’économiser un peu de
mémoire par rapport à des float ou à des double et d’accélérer un peu la conversion d’un
GeoPoint en position sur la carte. En revanche, vous ne devez pas oublier ce facteur de
1E6.
Terrain accidenté
Tout comme sur votre ordinateur de bureau, vous pouvez afficher les images satellites avec
Google Maps et Android.
MapView offre la méthode toggleSatellite(), qui, comme son nom l’indique, permet
d’activer ou de désactiver la vue satellite de la surface présentée sur la carte. Vous pouvez
faire en sorte de laisser à l’utilisateur le soin de faire ce choix à partir d’un menu ou,
comme dans NooYawk, via des touches :
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_S) {
map.setSatellite(!map.isSatellite());
return(true);
}
else if (keyCode == KeyEvent.KEYCODE_Z) {
map.displayZoomControls(true);
return(true);
}
return(super.onKeyDown(keyCode, event));
}
Livre Android.book Page 331 Dimanche, 8. novembre 2009 12:23 12
