What I want to achieve is to have 2 kinds of markers displayed on a map.
1)Red markers that display events drawn from a database (done that - itemizedOverlay)
2)Orange marker which will dynamically display the user's location on the map(itemizedOverlay2).
I'm using ItemizedOverlay to have the 2 different layers (one for events and one for user location) but I have an issue with the dynamic marker that shows user position.
ISSUE:
What happens is the LocationListener successfully gets the latitude/longitude and places a point on the map BUT the previous point still exists. So I have a trail of markers showing the user's location.
I have implemented a few ways I found searching the internet but none of which happen during the calling of onLocationChanged.
class myLocationListener implements LocationListener{
OverlayItem overlayItem;
@Override
public void onLocationChanged(Location location) {
if (location != null){
mapOverlays.remove(itemizedOverlay2);
mapView.invalidate();
lat = location.getLatitude();
longi = location.getLongitude();
GeoPoint point = new GeoPoint((int) (lat * 1E6), (int) (longi * 1E6));
mControl.animateTo(point);
overlayItem = new OverlayItem(point, "My Location", "This is probably where you are");
itemizedOverlay2.addOverlay(overlayItem);
mapOverlays.add(itemizedOverlay2);
}
}
I know that you might need more of my code but let's just stay at this block see if someone sees where I'm getting it wrong.
Thank you.