Skip to content Skip to sidebar Skip to footer

Android: Itemizedoverlay Ontouchevent And Ontap Overlapping

I am trying to place a marker on a map overlay and then present a dialog when the user selects the drawable. The problem is the events seem to overlap. After I click the map and

Solution 1:

I had exactly the same issue, my onTouchEvent added a marker to a map, and wanted it to show information about that marker when the user clicks on it, it worked but it also added another marker on top of it.

So what I did was not use onTouchEvent but do everything in onTap(int index) and onTap(Geopoint p, MapView mapView) like so:

publicbooleanonTap(final GeoPoint p, final MapView mapView){
    booleantapped=super.onTap(p, mapView);
    if (tapped){            
        //do what you want to do when you hit an item           
    }           
    else{
        //do what you want to do when you DON'T hit an item
        }                   
    returntrue;
}

//Return true in order to say that the listener has correctly taken the event into account @OverrideprotectedbooleanonTap(int index) {
    returntrue;
}

Regards,

Tom

Solution 2:

If you are updating the previous overlay, set isFirst=true; in the call to `remove() to remove the overlay in question.

In the onTap() call, use

if(isFirst)
{
    isFirst=false;
} else{
    // the actual onTap() comes here
}

I hope that it'll work the same if isFirst=true is set in the onDraw() as well.

Solution 3:

I think that the problem is fundamentally that the onTap is a particular onTouchEvent, so if you write both in the overlay they are both fired when you touch the map

You could try to add a new overlay item in one of the touch events you implemented in your mapActivity and leave the onTap event in the overlay as it is right now

it might work this way but you have to try, I'm not sure!

Post a Comment for "Android: Itemizedoverlay Ontouchevent And Ontap Overlapping"