2015-11-14 32 views
2

如何使用谷歌地圖API獲取當前的經緯度?我想使用HTML5獲取經度和緯度,但我無法獲取函數外部的變量。請分享一些關於此的知識。如何使用谷歌地圖API獲取當前的經緯度?

$(document).ready(function() { 
    var latitude = ''; var longitude = ''; 

    if(navigator.geolocation) { 
     browserSupportFlag = true; 
     navigator.geolocation.getCurrentPosition(function(position) { 
     latitude = position.coords.latitude; 
     longitude = position.coords.longitude; 
     }, function() { 
      alert("Geolocation Failed"); 
     }); 
    } 
    console.log(longitude); // I am trying to console this variable here but its print blank; 
}); 

回答

4

你應該將控制檯日誌行的成功回調中: https://developer.mozilla.org/en-US/docs/Web/API/Geolocation/getCurrentPosition

在你必須等待該getCurrentPosition的執行給你一個結果,換句話說。

+0

問題是關於在一個變量來獲取函數 –

+0

好之外的價值,但我不認爲這是可能的,它與回調函數,所以你只能使用位置結果當它可用時。在成功回調中,你可以簡單地調用「processResult()」函數並從那裏繼續操作經度變量,如果你喜歡 – Mat

+0

其實我也面臨這樣的問題,我有一個php文件,我需要代表當前的經緯度和lang執行一個sql查詢,我試圖通過IP得到經緯度,但這是不正確的。我沒有得到任何解決方案使用此腳本與我的php-mysql查詢 –

3

您可以使用jQuery將經度和經度存儲到cookie或會話中,並在其他地方使用它。

例如:

var sess_longitude = localStorage[longitude]; 
+0

它的一個很好的解決方案,並解決我的問題,因爲我可以使用cookie,也使用php變量。感謝這個想法:) –

相關問題