2015-02-06 3 views
-1

Google API v3을 사용하고 있지만이 매개 변수 'zoom : 10'이 작동하지 않습니다. 항상 Google API를 호출하고 확대/축소가 최대이며 원하는 줌을 얻으려면 약 5 회 "-"를 클릭해야합니다. 나는 zoom : 1과 zoom : 100을 넣으려고했지만 아무 일도 일어나지 않는다. 어쩌면이 매개 변수를 덮어 쓰고 있지만 어디에 있는지 알 수 없습니다.Google Map API v3 - 확대/축소 매개 변수가 작동하지 않습니다.

function viewOnMap(campus_name, lat, long, address1, address2){ 
    var locations = [ [ campus_name, lat, long, 1 ] ]; 

    var map = new google.maps.Map(document.getElementById('google_map'), { 
    zoom : 10, 
    center : new google.maps.LatLng(lat, long), //lat long site 
    mapTypeId : google.maps.MapTypeId.ROADMAP 
    }); 
    var infowindow = new google.maps.InfoWindow(); 

    var marker, i; 
    var bounds = new google.maps.LatLngBounds(); 
    for (i = 0; i < locations.length; i++) { 
    marker = new google.maps.Marker(
      { 
       position : new google.maps.LatLng(lat, 
         long), 
         map : map, 
         icon:'images/pin.png' 
      }); 
    var pos = new google.maps.LatLng(lat, long); 
    bounds.extend(pos); 
    google.maps.event.addListener(marker, 'click', (function(marker, i) { 
     return function() { 
       var content = '<div id="content">'+ 
       '<div id="siteNotice">Site name: '+ (campus_name) + 
       '</div>'+ 
       '<div id="bodyContent">Address: '+ (address1) + 
       '</div>'+ 
       '<div id="bodyContent1">'+ (address2) + 
       '</div>'+ 
       '</div>'; 
      } 
      infowindow.setContent(content); 
      infowindow.open(map, marker); 
     }; 
    })(marker, i)); 
    } 
    map.fitBounds(bounds);  
} 

감사 :

여기 내 코드입니다!

+1

마커 위치는 무엇입니까? map.fitBounds를 어딘가에 호출하고 있습니까 (표시되지 않음)? 디버깅 도움말을 찾는 질문 ("이 코드가 작동하지 않는 이유는 무엇입니까?")은 질문 자체에서이를 재현하는 데 필요한 가장 짧은 코드 여야합니다. 참조 : [최소한의 완전하고 검증 가능한 예제를 만드는 방법] (http://stackoverflow.com/help/mcve). – geocodezip

+0

[코드와 함께] (http://jsfiddle.net/rh2xh2o2/) 문제가 보이지 않습니다. jsfiddle "JSHint"함수 (jslint clone)가 인식 할 수있는 구문 오류를 수정해야했습니다. 지도를 표시, – geocodezip

+0

map.fitBounds (bounds); (:이 코드는 거기에 넣었습니다. 여기에 넣는 것을 잊었습니다. @geocodezip 코드 사용을 시도해 보겠습니다. –

답변

0

google.maps.Map.fitBounds를 호출하면 MapOptions의 고정 확대/축소가 무시됩니다.

google.maps.LatLngBounds에 위치를 하나만 추가 한 다음 google.maps.Map.fitBounds를 사용하면 항상 가능한 최대 줌으로 확대/축소합니다.

위치가 하나 뿐인 경우 google.maps.Map.fitBounds를 사용하지 마십시오.

+0

일했습니다! 감사! –

0

시도해 보셨습니까? :

map.setZoom(10); 

마커를 설정 한 후에도 설정하려고합니다.

실제로 크롬에서 코드를 디버그하면지도가 렌더링 된 후 중단 점을 설정하고 로컬 창에서 해당 코드를 실행하는지 확인하고 싶습니다.

+0

예. 시도해 보았습니다.) : –

+0

새로운 마커 위치마다 확장하는 bounds 변수로 무엇을하고 있습니까? @geocodezip이 말했듯이 나중에이 함수를 fitBounds 호출에 전달합니까? 우리에게 줄 수있는 코드가 더 있어야합니까? – mindparse

+0

왜 설명없이 downvote 모르겠어요. 그것이 줌을 설정하는 방법입니다. –

관련 문제