Bonjour a tous,
Je ne viens pas vous demander comment calculer la distance entre 2 points, ca j'ai trouvé...
Là ou j'ai un probleme c'est pour l'appel de mes informations en fait.
Je m'explique
J'ai une activité DisplayMap (je resume aux parties importantes hein...)
Et j'ai ma classe ListItimizedOverlay
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 public class DisplayMap extends MapActivity implements LocationListener { private double lat = 0; private double lng = 0; new_lat = maverif.getLat(); new_lng = maverif.getLng(); GeoPoint geoPoint = new GeoPoint((int) ((new_lat + lat) * 1E6),(int) ((new_lng + lng) * 1E6)); OverlayItem overlayitem = new OverlayItem(geoPoint,maverif.getUId(), maverif.toString()); itemizedoverlay.addOverlayItem(overlayitem);
Mon souci, c'est que je ne sais pas comment recuperer MAPOSITIONLng /Lat depuis mon activité (classe mere en fait)
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 public class ListItimizedOverlay extends ItemizedOverlay { private ArrayList<OverlayItem> arrayListOverlayItem = new ArrayList<OverlayItem>(); private static Context context; @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("Distance", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int which) { MaBDD maBdd = new MaBDD(context); //Connection a la BDD maBdd.open(); MaClasse maverif = maBdd.getMonUID(UId); //On affiche dans un Toast le texte contenu dans l'EditText de notre AlertDialog double R = 6378; double distance=0; double destLat = maverif.getLat()*Math.PI/180; double sourceLat=MAPOSITIONLat*Math.PI/180; double destLong=maverif.getLat()*Math.PI/180; double sourceLong=MAPOSITIONLng*Math.PI/180; distance = R * (Math.PI/2 - Math.asin( Math.sin(destLat) * Math.sin(sourceLat) + Math.cos(destLong - sourceLong) * Math.cos(destLat) * Math.cos(sourceLat))); Toast.makeText(ListItimizedOverlay.context,"En cours d'implentation, distance approx :" + distance, Toast.LENGTH_SHORT).show(); return; } }); dialog.show(); return true; }
Je pensais creer une instanciation de ma classe mere DisplayMap mais je doute que ca marche....
Bref, je ne sais pas parler a mon "parent"
Si vous pouviez m'orienter ...
Merci
Partager