2013-03-13 52 views
1

我一直在努力使用Google的地理定位API。 我有一個城市的名字帶來了警示消息的功能:如何從JS函數外部檢索值

geocoder.geocode({ 'latLng': latlng }, function Test(results, status) { 
     if (status == google.maps.GeocoderStatus.OK) { 
      if (results[1]) { 
       for (var i = 0; i < results[0].address_components.length; i++) { 
        for (var b = 0; b < results[0].address_components[i].types.length; b++) { 
         if (results[0].address_components[i].types[b] == "locality") { 
          city = results[0].address_components[i]; 
          break; 
         } 
        } 
       } 
       alert(city.short_name) 
      } 
     } 
    }); 

我想找回city.short_name使用它作爲一個字符串後面。我該怎麼做?

回答

1

你將不得不將它設置爲一個全局變量。或者從這個函數調用一個函數並將其作爲參數傳遞。

+0

謝謝,我試圖在外部創建的函數中傳遞該變量,並且它可以工作。當然,這可能很麻煩,但並不重要。 – 2013-03-13 21:06:40

+0

其實並不是那麼混亂。你避免設置一個全局變量,這是一件好事! – 2013-03-13 21:08:24

1

如果你不介意污染全局變量空間,你可以使用:

window.newVar = city.short_name 
+0

嗯,我試圖做到這一點,但控制檯仍然抱怨說''newVar'沒有定義,當我訪問它的功能之外。 – 2013-03-13 21:03:03