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>
お礼
Googleのほうが使っているかたが多い気はしてます。 Googleは、地名などから関連情報などもセットで読み込む仕様になっているとなると重そうです。