Я автоматически обновляю карты Google каждые x секунд в jquery/javascript.
При изменении местоположения карта изменяет уровень масштабирования (ожидаемый).
Но я хочу добиться этого:
Если пользователь вручную изменил уровень масштабирования, то карта должна сохранить установленный пользователем уровень масштабирования.
Код выглядит примерно так:
function calcRoute(user) {
if(user)
{
start = document.getElementById("start_location").value;
}
end = document.getElementById("end_location").value;
var request = {
origin:start,
destination:end,
travelMode: google.maps.DirectionsTravelMode.WALKING
};
directionsService.route(request, function(response, status) {
if (status == google.maps.DirectionsStatus.OK) {
directionsDisplay.setDirections(response);
$('#txt_dur').text(response.routes[0].legs[0].duration.text);
$('#txt_dist').text(response.routes[0].legs[0].distance.text);
}
});
//if(userZoom==true)
// map.setZoom(current_zoom);
}
function autoUpdate() {
navigator.geolocation.getCurrentPosition(function(position) {
var newPoint = new google.maps.LatLng(position.coords.latitude,
position.coords.longitude);
start = newPoint.toString();
calcRoute(false);
});
setTimeout(autoUpdate, 5000);
}
autoUpdate();
Я предпочитаю стандартные события карты Google, такие как zoom_changed, вместо создания пользовательских событий для пользовательского масштабирования.
Любые указания по этому вопросу?