googlemapについて教えてください。
googlemapでマーカーが追随するようにしたくて、function update(position) の関数のはじめにif(marker!=null){marker.setMap(null);}を入れてマーカーを消してから、次のマーカーがつくようにとしたつもりなのですが、うまくいきません。どのようにしたら、現在地にマーカーがつくようになるのでしょうか。下の場合マーカーがたくさんつきます。
よろしくお願いします。
<html>
<head>
<title>map</title>
<meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=true&language=ja&v=3.6"></script>
<script type="text/javascript">
var gmap;
window.onload = function(){
var myLatlng = new google.maps.LatLng( 33 , 130 );
navigator.geolocation.watchPosition(update,poserror,{maximumAge: 30000,enableHighAccuracy:1});
var myOptions = {
zoom: 15,
center: myLatlng,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
gmap = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
}
function update(position){
var lat = position.coords.latitude;
var lng = position.coords.longitude;
var myLatlng = new google.maps.LatLng( lat , lng );
gmap.setCenter( myLatlng );
var marker = new google.maps.Marker({
position: myLatlng,
map: gmap
});
}
function poserror(position){alert("error");}
</script>
</head>
<body>
<div id="map_canvas" style="width:95%; height:500px ; border:solid 3px #ccc;"></div>
</body>
</html>