jquery/javascriptでx秒ごとにGoogleマップを自動更新しています。
場所が変更されると、マップはズームレベルを変更します(予想)。
しかし、私はこれを達成したい:
ユーザーが手動でズームレベルを変更した場合、マップはユーザーが設定したズームレベルを維持/維持する必要があります。
コードは次のようになります。
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();
ユーザーズーム用のカスタムイベントを作成するのではなく、zoom_changedなどの標準のGoogleマップイベントを使用します。
このテーマに関する指示はありますか?