Bonjour a tous,
Je suis en train de me faire une petite appli avec googleMap qui, lorsqu'on clique sur un point sur la map(ItemizedOverlay) nous renvoi des infos, et apres j'aimerai lancé une activity concernant ce point.
Donc pour toute la partie creation map, creation point, affichage point, clic point, affichage dialog je suis OK
Mon souci, c'est une fois que je suis dans le onTap de ma class "ListItemizedOverlay extends ItemizedOverlay" ... Je ne sais pas comment faire pour appeler une activity et lui passer des paramètres.
J'ai tenté diverse chose en lieu et place de mon Toast, comme l'appel d'une fonction, qui elle meme appelerait mon startactivityforresult
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56 public class ListItimizedOverlay extends ItemizedOverlay { private ArrayList<OverlayItem> arrayListOverlayItem = new ArrayList<OverlayItem>(); private static Context context; private Location location; public void setMyLocation(GeoPoint myLocation) { location = new Location("myLocation"); location.setLatitude(myLocation.getLatitudeE6() * 1E-6); location.setLongitude(myLocation.getLongitudeE6() * 1E-6); } @Override protected boolean onTap(int index) { OverlayItem item = arrayListOverlayItem.get(index); AlertDialog.Builder dialog = new AlertDialog.Builder(context); dialog.setTitle(item.getTitle()); dialog.setMessage(item.getSnippet()); final String UId = item.getTitle(); dialog.setPositiveButton("Lancer activite", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int which) { Toast.makeText(ListItimizedOverlay.context,"Ici j'aimerai afficher une nouvelle activite ", Toast.LENGTH_SHORT).show(); return; } }); dialog.setNegativeButton("Photographier", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int which) { Toast.makeText(ListItimizedOverlay.context,"Photographie impossible pas encore implementée", Toast.LENGTH_SHORT).show(); return; } }); dialog.show(); return true; } public ListItimizedOverlay(Drawable defaultMarker, Context pContext) { super(boundCenterBottom(defaultMarker)); this.context = pContext; } @Override protected OverlayItem createItem(int i) { // TODO Auto-generated method stub return arrayListOverlayItem.get(i); } @Override public int size() { // TODO Auto-generated method stub return arrayListOverlayItem.size(); }
Seulement, cette fonction n'est pas declarée pour la classe ItemizedOverlay...
J'ai tenté de passer des parametres lors de la creation de mon ItemizedOverlay (comme je le fais pour le context) pour lui indiquer qui est l'activity principale, mais impossible.
Bref, tout aide sera la bienvenue
Partager