Mettre des infobulles sur des marqueurs

Signaler
Messages postés
8
Date d'inscription
mercredi 23 mars 2011
Statut
Membre
Dernière intervention
10 février 2012
-
Messages postés
5
Date d'inscription
jeudi 22 mars 2012
Statut
Membre
Dernière intervention
5 juillet 2012
-
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

Messages postés
5
Date d'inscription
jeudi 22 mars 2012
Statut
Membre
Dernière intervention
5 juillet 2012

pas de réponse g le méme probléme
Messages postés
5
Date d'inscription
jeudi 22 mars 2012
Statut
Membre
Dernière intervention
5 juillet 2012

une réponse allez allez besoin d'urgence ici