지도에서 마커/정보창을 업데이트하면서 Google지도를 초기화하고 매 30 초마다 주기적으로 초기화합니다. 경계를 사용하여 자동으로 확대되지만 모든 아이콘/정보가 표시되는지 확인합니다.Google지도 v3지도가 초기화 된 후 확대/축소 수준 조정
내 문제는 정보창이지도의 가장자리에 배치되어 종종 끊어지는 문제입니다. 지도가 업데이트 될 때마다 '1'축소해야합니다. 'map.zoom'을 사용하여 현재 확대/축소 수준을 결정하고 새 값을 다시 계산할 수 있지만이 새로운 값을 설정하는 방법을 모르겠습니다.
지도를 초기화 할 때 줌 매개 변수 만 설정할 수 있습니까?
확실히 간단합니다.
다음은 '업데이트'기능입니다.
function updatePage() {
//clear current markers
clearOverlays();
var location1 = new google.maps.LatLng(team1data.lat, team1data.lon);
var location2 = new google.maps.LatLng(team2data.lat, team2data.lon);
var bounds = new google.maps.LatLngBounds();
bounds.extend(location1);
bounds.extend(location2);
map.fitBounds(bounds);
var curZoom = map.zoom;
console.log(curZoom);
var newZoom = (curZoom - 1);
console.log(newZoom);
var infowindow1 = new google.maps.InfoWindow({
content: '<div style=\"height:100px;width:230px;font-size:12px;\"><span style="font-weight:bold;">' + team1data.user + ' (' + team1data.location + '): </span>' + team1data.tweet + '</div>'
});
var infowindow2 = new google.maps.InfoWindow({
content: '<div style=\"height:100px;width:230px;font-size:12px;\"><span style="font-weight:bold;">' + team2data.user + ' (' + team2data.location + '): </span>' + team2data.tweet + '</div>'
});
//can add as many markers to the map as you like
var marker1 = new google.maps.Marker({
position: location1,
map: map,
title: "Team 1"
});
markersArray.push(marker1);
google.maps.event.addListener(marker1, 'click',
function() {
infowindow.open(map, marker);
});
var marker2 = new google.maps.Marker({
position: location2,
map: map,
title:"Team 2"
});
markersArray.push(marker2);
infowindow1.open(map, marker1);
infowindow2.open(map, marker2);
setTimeout("team1tweets()", 30000)
}
그 중 하나입니다. 감사! – Jono
일부 작업을 수행 한 직후에 setZoom (..)이 호출되지 않는 경우가 있습니다. 또 다른 답변은지도가 명령을 받아 들일 준비가되었을 때 "유휴"이벤트를 사용하여 작업을 수행하는 방법을 설명합니다. http://stackoverflow.com/questions/2437683/google-maps-api-v3-can-i-setzoom-after -fitbounds –
링크가 끊어졌습니다. – candlejack