Android: ItemizedOverlay onTouchEvent and onTap overlapping

前端 未结 3 1845
滥情空心
滥情空心 2020-12-15 14:49

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 m

相关标签:
3条回答
  • 2020-12-15 15:21

    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.

    0 讨论(0)
  • 2020-12-15 15:23

    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!

    0 讨论(0)
  • 2020-12-15 15:29

    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:

    public boolean onTap (final GeoPoint p, final MapView mapView){
        boolean tapped = 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
            }                   
        return true;
    }
    
    //Return true in order to say that the listener has correctly taken the event into account 
    @Override
    protected boolean onTap(int index) {
        return true;
    }
    

    Regards,

    Tom

    0 讨论(0)
提交回复
热议问题