2010-10-15 9 views
0

Comment puis-je faire glisser un marqueur sur la carte? Comment le gérer dans onTouchEvent()?Faites glisser le marqueur sur la carte

J'avais écrit un code qui traîne réellement. Mais il semble que la carte bouge au lieu du marqueur. Ce code est écrit ci-dessous:

public boolean onTouchEvent(MotionEvent event, MapView mapView) { 

    /*Action to be taken on ACTION_UP(value=1) and ACTION_DOWN(value=0)*/ 
    if(event.getAction() == 0 || event.getAction() == 1){ 
     mapView.displayZoomControls(true); 
    } 

    /*Action to be taken on ACTION_MOVE(value=2)*/ 
    if(event.getAction() == 2){ 
     for(int i = 0; i < mOverlays.size() ; i++){ 
     mOverlays.remove(i); 
     } 

     GeoPoint point = mapView.getProjection().fromPixels((int) event.getX(),(int) 
        event.getY()); 

     OverlayItem overlayItem = new OverlayItem(point, "", ""); 
     addOverlay(overlayItem); 
     mapView.getController().setCenter(point); 
    } 

    return true; 
} 

Y at-il une solution pour cela?

Répondre

2

Bien sûr, la carte est en mouvement. Vous dites à la carte de se déplacer via setCenter().

Here is a sample project montrant le glisser-déposer de OverlayItems.

Questions connexes