2017-02-28 66 views
-2

我正在尝试为Free Code Camp创建一个天气应用程序,并且当我在本地主机上加载所有内容时它工作正常。每当我尝试在Codepen上运行它,但它不起作用。为什么CodePen上的地理位置不工作?

这里的链接到我的Codepen:http://codepen.io/GeorgeMort/pen/LWpXPZ

这里是我的JS:

window.onload = function() { 
    temperature = document.getElementById("temperature"); 
    loc = document.getElementById("location"); 
    icon = document.getElementById("icon"); 

    if (navigator.geolocation) { 
    var showPosition = function(position) { 
     updateByGeo(position.coords.latitude, position.coords.longitude); 
    }; 
    navigator.geolocation.getCurrentPosition(showPosition); 
    } else { 
    var zip = window.prompt("Unable to find your location. What is your zip code?"); 
    updateByZip(zip); 
    } 
}; 

--AND--

function updateByGeo(lat, lon) { 
    var url = "http://api.openweathermap.org/data/2.5/weather?" + "lat=" + lat + "&lon=" + lon + "&APPID=" + APPID; 

    sendRequest(url); 
} 

我试着使用CodePen在Chrome和苹果浏览器。我在这个项目中遇到了更多使用Chrome的问题,所以真的可以使用一些帮助让它在Safari上运行。

我真的很感谢帮助。谢谢!

+0

猜你没有在您的控制台看上去〜*“'getCurrentPosition()'和'watchPosition()'没有在不安全的根源不再起作用。要使用此功能,你应该考虑你的应用程序切换到安全例如HTTPS。“* – Phil

回答

1

尝试相同的链接,但使用HTTPS ...!

https://codepen.io/GeorgeMort/pen/LWpXPZ

此API仅适用于安全网站。

+0

该代码是因为SO坚持我添加了一些CodePen链接。 –

+0

我想我不理解什么。您提供的HTTPS链接仍然无法提供。我试着改变我的代码中的任何链接,从HTTP到HTTPS,我仍然没有获得任何地理定位。 –

+0

啊,它对我来说很有用,因为它要求我的位置。你的问题不是吗?如果是这样,您可能已经拒绝了您的浏览器设置。 –

相关问题