2011-10-08 7 views
0

:
Google Maps v3 - How to center using an address on initialize?구글지도 가능한 중복

안녕하세요 ... 경고가에서 나는 우편 번호로 90210에로드하고 싶은지도입니다했다 거기에 디버그 도구로 .. 경고는 내게 줄을 제공하지만 'myOptions가 정의되지 않았습니다'오류가 발생합니다. 어떤 제안? 감사.

var geocoder; 
var map; 
function initialize() { 
    geocoder = new google.maps.Geocoder(); 
    var lat = ''; 
    var lng = ''; 
    var address = '90210'; 
    geocoder.geocode({ 'address': address}, function(results, status) { 
     if (status == google.maps.GeocoderStatus.OK) { 
      lat = results[0].geometry.location.lat(); 
      lng = results[0].geometry.location.lng(); 
      //alert(lat + ', ' + lng); 
     } else { 
      alert("Geocode was not successful for the following reason: " + status); 
     }; 

     var latlng = '(' + lat + ', ' + lng + ')'; 
     var myOptions = { 
      zoom: 8, 
      center: latlng, 
      mapTypeId: google.maps.MapTypeId.ROADMAP 
     } 
     alert(latlng); 
    }); 

    map = new google.maps.Map(document.getElementById("map_canvas"), myOptions); 
} 
+0

이것은 중복 질문입니다. -maps-V3-방법 투 센터 사용-AN-어드레스 기능을 초기화/# 6,140,398 6,140,398]를 [1] [1] : http://stackoverflow.com/questions/6140303/ google-maps-v3-how-to-center-using-address-on-initialize/6140398 # 6140398 –

+0

"복제본"이 다릅니다. 닫지 않아야합니다. – Mischa

답변

1

myOptions는 geocoder.geocode의 익명 함수 내에서 만듭니다. 따라서이 함수를 사용하는 코드에서는 사용할 수 없습니다. initialize 함수의 맨 위에 var myOptions을 선언하면 작동합니다.

var geocoder; 
var map; 
function initialize() { 
    geocoder = new google.maps.Geocoder(); 
    var lat = ''; 
    var lng = ''; 
    var address = '90210'; 
    var myOptions; 
    geocoder.geocode({ 'address': address}, function(results, status) { 
     if (status == google.maps.GeocoderStatus.OK) { 
      lat = results[0].geometry.location.lat(); 
      lng = results[0].geometry.location.lng(); 
      //alert(lat + ', ' + lng); 
     } else { 
      alert("Geocode was not successful for the following reason: " + status); 
     }; 

     var latlng = '(' + lat + ', ' + lng + ')'; 
     myOptions = { 
      zoom: 8, 
      center: latlng, 
      mapTypeId: google.maps.MapTypeId.ROADMAP 
     } 
     alert(latlng); 
    }); 

    map = new google.maps.Map(document.getElementById("map_canvas"), myOptions); 
}