Something that took me a while to figure out was how to drag a marker on a map to a new position and then retrieve it's lat/lng (version 3).
This assumes you have the map variable set as an instance of google.maps.Map and latlng which is the current position to show on the map as an instance of google.maps.LatLng.