2011-10-08 81 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

這是一個重複的問題,有些..它在這裏找到答案:http://stackoverflow.com/questions/6140303/google -maps-V3-如何到中心-使用-一個地址上初始化/ 6140398#6140398] [1] [1]:http://stackoverflow.com/questions/6140303/ google-maps-v3-how-to-center-using-an-address-on-initialize/6140398#6140398 –

+0

「重複」是不同的。不應該關閉。 – Mischa

回答

1

您可以在geocoder.geocode中的匿名函數中創建myOptions。所以它不適用於那個函數以外的代碼。如果您在初始化函數的頂部聲明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); 
} 
相關問題