Google Maps, There can be only one...Marker

only allow one marker at a time.

by Kyle Pennell

HTML

<script src="http://maps.google.com/maps/api/js?sensor=false&amp;.js"></script>
<div id="results"></div>
<div id="map"></div>

CSS

#map {
    width: 450px;
    height: 400px;
}

JavaScript

var map;
var marker;

function placeMarker(location) {
    if (marker) {
        //if marker already was created change positon
        marker.setPosition(location);
    } else {
        //create a marker
        marker = new google.maps.Marker({          
            position: location,
            map: map,
            draggable: true
        });
    }
}

function initialize() {
    var centerPosition = new google.maps.LatLng(38.713107, -90.42984);
    var options = {
        zoom: 6,
        center: centerPosition,
        mapTypeId: google.maps.MapTypeId.ROADMAP
    };
    map = new google.maps.Map($('#map')[0], options);

    google.maps.event.addListener(map, 'click', function (evt) {
        placeMarker(evt.latLng);
    });
}
google.maps.event.addDomListener(window, 'load', initialize);