2014-07-08 83 views
0

我在我的應用程序中的小問題在那裏我能拖動標記到任意位置上的可見map.I簡稱this answer on stackoverflow在那裏我可以drag.but即使在動畫標記在地圖我不會在地圖上放下標記,它會自行丟棄。拖動標記的Android

這裏是我的代碼,以使其更清晰

@Override 
     public void onMarkerDrag(final Marker marker) 
     { 
      final View view = getFragmentManager().findFragmentById(R.id.map).getView(); 
      if(view.getViewTreeObserver().isAlive()) 
      { 
       view.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() 
       { 

        @Override 
        public void onGlobalLayout() 
        { 
         view.getViewTreeObserver().removeGlobalOnLayoutListener(this); 

         mGoogleMap.animateCamera(CameraUpdateFactory.newCameraPosition(new CameraPosition.Builder() 
         .target(marker.getPosition()).zoom(13).build())); 

        } 
       }); 
      } 


     } 
    }; 
+0

我不明白。你想要達到什麼目的? – SeahawksRdaBest

+0

如果我拖動標記在谷歌地圖上,並同時拖動,如果我在屏幕的一角到達,谷歌地圖相機爲動畫,再次使在中心標記,例如當你從主屏幕上拖動圖標創建快捷方式或卸載您的主屏幕刷卡本身@SeahawksRdaBest – Pankaj

回答

0

試試下面的代碼拖動標記: -

map. addMarker(new MarkerOptions().position(new LatLng(lat, lng)).draggable(true)); 

及以下方法得到緯度第二LNG: -

map.setOnMarkerDragListener(new OnMarkerDragListener() 
    { 
     @Override 
     public void onMarkerDragStart(Marker marker) 
     { 
      // TODO Auto-generated method stub 
     } 

     @Override 
     public void onMarkerDragEnd(Marker marker) 
     { 
      // TODO Auto-generated method stub 
      lat  = marker.getPosition().latitude; 
      lng  = marker.getPosition().longitude; 
     } 

     @Override 
     public void onMarkerDrag(Marker marker) 
     { 
      // TODO Auto-generated method stub 
     } 
    }); 

閱讀本文件如下: -

https://developers.google.com/maps/documentation/android/marker

+0

我想你是誤會我的問題,我要的是動畫地圖onMarkerDrag,既不的dragstart也沒有對DragEnd – Pankaj