Mettre des infobulles sur des marqueurs

cs_emna77 Messages postés 8 Date d'inscription mercredi 23 mars 2011 Statut Membre Dernière intervention 10 février 2012 - 15 oct. 2011 à 22:24
CSyas Messages postés 5 Date d'inscription jeudi 22 mars 2012 Statut Membre Dernière intervention 5 juillet 2012 - 5 juil. 2012 à 18:24
salut tout le monde,
j'ai une application de géolocalisation sur android ou je place des marqueurs sur une carte mais je veux que des infobulles aparaissent lorsque je passe la fléche sur mon marqueur.Voici mon code :
package org.example.mymap;


import java.util.ArrayList;
import java.util.List;


import android.content.Context;
import android.graphics.drawable.Drawable;

import android.os.Bundle;
import android.widget.Toast;


import com.google.android.maps.GeoPoint;
import com.google.android.maps.ItemizedOverlay;
import com.google.android.maps.MapActivity;
import com.google.android.maps.MapController;
import com.google.android.maps.MapView;
import com.google.android.maps.MyLocationOverlay;
import com.google.android.maps.OverlayItem;


public class MyMap extends MapActivity {
private MapView map;
private MapController controller;
private MyLocationOverlay myLocation = null;
private OverlayItem mOverlays;
double latitude = 0;
double longitude = 0;
double latitude1 = 0;
double longitude1 = 0;
private Context mContext;

/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
initMapView();
initMyLocation();
latitude = 36.89077;
longitude = 10.18331;
latitude1 = 36.89287 ;
longitude1 = 10.18330;

GeoPoint point = new GeoPoint(microdegrees(latitude),
microdegrees(longitude));
controller.setCenter(point);
GeoPoint point1 = new GeoPoint(microdegrees(latitude1),
microdegrees(longitude1));
controller.setCenter(point1);
MonOverlay object = new MonOverlay(getResources().getDrawable(
R.drawable.marker));
object.addPoint(point);
object.addPoint(point1);
myLocation = new MyLocationOverlay(getApplicationContext(), map);
map.getOverlays().add(object);
myLocation.enableMyLocation();
controller.animateTo(point);
controller.setCenter(point);
controller.setZoom(17);
}

/*protected boolean onTap(int pIndex) {
Toast.makeText(mContext, mOverlays.get(pIndex).getSnippet(),
Toast.LENGTH_LONG).show();
return true;
}*/
private int microdegrees(double value) {
return (int) (value * 1000000);

}

private void initMapView() {
map = (MapView) findViewById(R.id.map);
controller = map.getController();
map.setSatellite(true);
map.setBuiltInZoomControls(true);


}

private void initMyLocation() {
final MyLocationOverlay overlay = new MyLocationOverlay(this, map);
overlay.enableMyLocation();
// overlay.enableCompass(); // does not work in emulator
overlay.runOnFirstFix(new Runnable() {
public void run() {
// Zoom in to current location
controller.setZoom(2);
controller.animateTo(overlay.getMyLocation());
}
});
map.getOverlays().add(overlay);
}

@Override
protected boolean isRouteDisplayed() {
// Required by MapActivity
return false;
}

public class MonOverlay extends ItemizedOverlay<OverlayItem> {
List<GeoPoint> points = new ArrayList<GeoPoint>();

public MonOverlay(Drawable defaultMarker) {
super(boundCenterBottom(defaultMarker));
// TODO Auto-generated constructor stub
}

protected OverlayItem createItem(int i) {
GeoPoint point = points.get(i);
return new OverlayItem(point, "titre", "description");

}

public int size() {
return points.size();
}

public void addPoint(GeoPoint point) {
this.points.add(point);
populate();
}



}
}

Qu'est ce que je dois ajouter ,merci.

2 réponses

CSyas Messages postés 5 Date d'inscription jeudi 22 mars 2012 Statut Membre Dernière intervention 5 juillet 2012
5 juil. 2012 à 18:19
pas de réponse g le méme probléme
0
CSyas Messages postés 5 Date d'inscription jeudi 22 mars 2012 Statut Membre Dernière intervention 5 juillet 2012
5 juil. 2012 à 18:24
une réponse allez allez besoin d'urgence ici
0