Reputation: 2110
I have a small problem in my application where I'm able to drag marker to any position on the visible map.I referred to this answer on stackoverflow where I can animate the map on marker drag.but even if I don't drop the marker on map it gets dropped by itself.
here's my code to make it more clear
@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()));
}
});
}
}
};
Upvotes: 1
Views: 4862
Reputation: 38429
try below code for drag marker:-
map. addMarker(new MarkerOptions().position(new LatLng(lat, lng)).draggable(true));
and below method for get lat nd 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
}
});
read below this document :-
https://developers.google.com/maps/documentation/android/marker
Upvotes: 4