2017-07-21 120 views
0

除了當前位置顯示在其他位置這一事實之外,一切都適用於我的代碼。我住在Kuils River,它給了我Edgemead的天氣條件。如何獲得我所在的當前位置?任何人都可以幫我解決這個問題。如何根據用戶當前的GPS位置獲取天氣狀況

$(document).ready(function() { 
    var lat, lon, api_url; 

    if ("geolocation" in navigator) { 
    $('#showTemp').on('click', function() { 
     navigator.geolocation.getCurrentPosition(gotLocation); 

     function gotLocation(position) { 
     lat = position.coords.latitude; 
     lon = position.coords.longitude; 

     api_url = 'http://api.openweathermap.org/data/2.5/weather?lat=' + lat + '&lon=' + lon + '&units=metric&appid=b231606340553d9174136f7f083904b3'; 
     APPID: '53f9d8e4213222cf517d86dc406d67fc' 

     $.ajax({ 
      url: api_url, 
      method: 'GET', 
      success: function(data) { 
      var tempr = data.main.temp; 
      var location = data.name; 
      var desc = data.weather.description; 
      $('#result').text(tempr + '°' + location); 
      } 
     }); 
     } 
    }); 
    } else { 
    alert('Your browser doesnt support geolocation. Sorry.'); 
    } 
}); 
+0

這不是代碼嗎? – epascarello

+0

這與你的代碼沒有關係,因爲它是正確的。地理位置可能不精確 – Roman

+0

代碼給我的天氣和位置,但地區是錯誤的我住在Kuils河它給了我一個位置名稱Edgemead – Grampiano

回答

0

我注意到一個錯誤的位置:

api_url = 'http://api.openweathermap.org/data/2.5/weather?lat=' + 
      lat + '&lon=' + 
      lon + '&units=metric&appid=b231606340553d9174136f7f083904b3'; 
      APPID: '53f9d8e4213222cf517d86dc406d67fc' 

//

的的appid是有兩次。你能給我你期望的座標(lat,lon)嗎?您應該能夠直接在瀏覽器中插入網址,以查看您獲得的內容。你嘗試過嗎?

+0

這是他們給我的任務。編寫一個單頁面應用程序,根據用戶當前的GPS位置顯示天氣狀況。歡迎您使用您選擇的框架(Angular,Ember,React等)。使用Git進行版本控制 - 並在提交測試時向我們發送鏈接到您的存儲庫。 – Grampiano

+0

在這種情況下框架並不重要。這只是一個API調用。你是否修復了appid並重試? – stevelacerda7

+0

是的,我沒有得到相同的結果 – Grampiano