Bonjour,
Je pense qu'il faut que tu stock le marker que tu créer la première fois dans une variable global pour changer sa position par la suite avec marker.setPosition(newPosition);
ça donnerais quelque chose comme ça avec la variable userMarker :
navigator.geolocation.getCurrentPosition(onSuccess, onError, {maximumAge: 0, timeout: Infinity, enableHighAccuracy:true});
var userMarker;
function onSuccess(position) {
var nom=logUser.User.username;
//Google Maps
var googleLatLng = new google.maps.LatLng(position.coords.latitude, position.coords.longitude);
var mapOptions = {zoom:17,center: googleLatLng,streetViewControl: true,disableDefaultUI: true}
var map = new google.maps.Map(document.getElementById('map-canvas'), mapOptions);
addMarker(map, googleLatLng, nom, "<b>"+nom+"</b> | MEDIC CONSEILS");
//var marker = new google.maps.Marker({position: myLatlng,map: map});
$.jStorage.set('askUser',googleLatLng);
var userPos = $.jStorage.get("askUser");
}
function onError(error) {
errorBox("le temps d'attente est dépassé, veuillez réessayer"+'\n');
}
function addMarker(map, googleLatLng, title, content){
var markerOptn={position:googleLatLng,map:map,title:title,animation:google.maps.Animation.DROP };
var marker=new google.maps.Marker(markerOptn);
var infoWindow=new google.maps.InfoWindow({ content: content, position: googleLatLng});
google.maps.event.addListener(marker, "click", function(){
infoWindow.open(map);
});
}
var watchID = navigator.geolocation.watchPosition(function(position) {
// Get current position
pos = new google.maps.LatLng(position.coords.latitude,position.coords.longitude);
// Redefine current location marker
if (typeof(marker) != "undefined") marker.setMap(null);
var image = 'https://developers.google.com/maps/documentation/javascript/examples/full/images/beachflag.png';
if(userMarker){
userMarker.setPosition(pos);
}else {
userMarker = new google.maps.Marker({
position: pos,
map: map,
title: 'you are here',
icon: image
},watchOptions);
}
})
C'est une proposition d'après ce que je comprend de ton code, je ne dis pas que c'est la solution exacte à ton problème ^^
Quoi qu'il en soit je pense qu'il faut que tu utilise marker.setPosition(newPosition) pour mettre à jour la position de ton marker.