2015-06-22 101 views
0

我正在使用google maps API,並嘗試將地圖居中放在用戶位置。在coffeescript中,我有:在CoffeeScript中突變公共變量

lat = undefined 
long = undefined 
navigator.geolocation.getCurrentPosition (position) -> 
     lat = position.coords.latitude 
     long = position.coords.longitude 
     return 
alert(lat) 

警報(拉特)將給我未定義。

回答

1

getCurrentPosition是異步的,因此,你需要調用alert(lat)getCurrentPosition通話

lat = undefined 
long = undefined 
navigator.geolocation.getCurrentPosition (position) -> 
     lat = position.coords.latitude 
     long = position.coords.longitude 
     alert(lat) 
     return 
+0

如果我想使用getCurrentPosition之外的新緯度/長度該怎麼辦? –

+0

@ChrisWissmach,那麼你的運氣不好。一旦異步調用完成,您必須處理所有事情,唯一的方法是1)在方法本身內部,或者2)使用promise API。 –