var marker;
function placeMarker(location) {
if ( marker ) {
marker.setPosition(location);
} else {
marker = new google.maps.Marker({
position: location,
map: map
});
}
}
google.maps.event.addListener(map, 'click', function(event) {
placeMarker(event.latLng);
});
You have to work on the same marker all the time – do not create new ones.
Here you have a global variable marker
and in placeMarker
function you assign marker to this variable first time. Next time it checks that marker exists already and then just changes its position.