Я показываю Карты Google с местоположением текущего пользователя на своем веб-сайте (тогда я добавлю другие функции) с помощью маркера. Я могу это сделать: каждый раз, когда пользователь перемещается, в новую позицию пользователя на карте добавляется другой маркер, но предыдущий маркер не удаляется, поэтому я добавляю все больше и больше маркеров, и я могу " t удалите предыдущий, прежде чем обновлять позицию пользователя. Я попытался использовать таймеры и другие стратегии без успеха: marker.setVisible (false), marker.setMap (null).Обновление/удаление маркеров в API Карт Google
Код:
<!DOCTYPE html>
<html>
<head>
<title>Geolocation</title>
<style>
body,html {height:100%}
#map {width:100%;height:100%;}
</style>
<script src="http://maps.googleapis.com/maps/api/js?sensor=true"></script>
<script>
var map;
function initGeolocation() {
if (navigator && navigator.geolocation) {
var watchId = navigator.geolocation.watchPosition(successCallback, errorCallback, {enableHighAccuracy:true,timeout:5000,maximumAge:0});
} else {
console.log('Geolocation not suported');
}
}
function errorCallback() {}
function successCallback(position) {
var myLatlng = new google.maps.LatLng(position.coords.latitude, position.coords.longitude);
if(map == undefined) {
var myOptions = {
zoom: 18,
center: myLatlng,
mapTypeId: google.maps.MapTypeId.ROADMAP
}
map = new google.maps.Map(document.getElementById("map"), myOptions);
}
else map.panTo(myLatlng);
markerUser = new google.maps.Marker({
position: myLatlng,
map: map,
icon: 'img/iconFox.png',
title:"You're here!"
});
}
</script>
</head>
<body onload="javascript:initGeolocation()">
<div id="map">
</div>
</body>
</html>
Во-первых, его 'marker.setMap (нуль);', убедитесь, что вы читаете документацию * тщательно * перед публикацией здесь , –
Спасибо, ты прав, но это была опечатка. Конечно, я использовал marker.setMap (null). Я исправил этот пост. –