Propriété de Albiri Sigue
customer 27921 at Fri Mar 11 19:19:45 +0100 2011
Chapitre 34
Cartographie avec MapView et MapActivity 333
● Lors de l’instanciation de la sous-classe d’ItemizedOverlay, fournissez-lui un objet
Drawable représentant l’icône par défaut de chaque élément (une épinglette, par exemple).
Le marker que l’on passe au constructeur de NooYawk est le Drawable utilisé en dernier
recours – il affiche une épinglette.
Vous pouvez également redéfinir draw() pour mieux gérer l’ombre de vos marqueurs.
Bien que la carte fournisse une ombre, il peut être utile de l’aider un peu en lui indiquant
où se trouve le bas de l’icône, afin qu’elle puisse en tenir compte pour l’ombrage.
Voici, par exemple, le code de la classe SitesOverlay :
private class SitesOverlay extends ItemizedOverlay {
private List items=new ArrayList();
private Drawable marker=null;
public SitesOverlay(Drawable marker) {
super(marker);
this.marker=marker;
items.add(new OverlayItem(getPoint(40.748963847316034,
-73.96807193756104),
"UN", "Nations Unies"));
items.add(new OverlayItem(getPoint(40.76866299974387,
-73.98268461227417),
"Lincoln Center",
"La maison du Jazz"));
items.add(new OverlayItem(getPoint(40.765136435316755,
-73.97989511489868),
"Carnegie Hall",
"Entraînez–vous avant d’y jouer !"));
items.add(new OverlayItem(getPoint(40.70686417491799,
-74.01572942733765),
"The Downtown Club",
"Le lieu d’origine du trophée Heisman"));
populate();
}
@Override
protected OverlayItem createItem(int i) {
return(items.get(i));
}
@Override
public void draw(Canvas canvas, MapView mapView,
boolean shadow) {
super.draw(canvas, mapView, shadow);
boundCenterBottom(marker);
}
@Override
protected boolean onTap(int i) {
Toast.makeText(NooYawk.this,
items.get(i).getSnippet(),
Livre Android.book Page 333 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 333
● Lors de l’instanciation de la sous-classe d’ItemizedOverlay, fournissez-lui un objet
Drawable représentant l’icône par défaut de chaque élément (une épinglette, par exemple).
Le marker que l’on passe au constructeur de NooYawk est le Drawable utilisé en dernier
recours – il affiche une épinglette.
Vous pouvez également redéfinir draw() pour mieux gérer l’ombre de vos marqueurs.
Bien que la carte fournisse une ombre, il peut être utile de l’aider un peu en lui indiquant
où se trouve le bas de l’icône, afin qu’elle puisse en tenir compte pour l’ombrage.
Voici, par exemple, le code de la classe SitesOverlay :
private class SitesOverlay extends ItemizedOverlay
private List
private Drawable marker=null;
public SitesOverlay(Drawable marker) {
super(marker);
this.marker=marker;
items.add(new OverlayItem(getPoint(40.748963847316034,
-73.96807193756104),
"UN", "Nations Unies"));
items.add(new OverlayItem(getPoint(40.76866299974387,
-73.98268461227417),
"Lincoln Center",
"La maison du Jazz"));
items.add(new OverlayItem(getPoint(40.765136435316755,
-73.97989511489868),
"Carnegie Hall",
"Entraînez–vous avant d’y jouer !"));
items.add(new OverlayItem(getPoint(40.70686417491799,
-74.01572942733765),
"The Downtown Club",
"Le lieu d’origine du trophée Heisman"));
populate();
}
@Override
protected OverlayItem createItem(int i) {
return(items.get(i));
}
@Override
public void draw(Canvas canvas, MapView mapView,
boolean shadow) {
super.draw(canvas, mapView, shadow);
boundCenterBottom(marker);
}
@Override
protected boolean onTap(int i) {
Toast.makeText(NooYawk.this,
items.get(i).getSnippet(),
Livre Android.book Page 333 Dimanche, 8. novembre 2009 12:23 12
