我已经坚持这个安静了一下。我知道"建立一个天气应用程序"问题已被问过几次,但这主要不是我正在努力解决的问题。 我正在尝试编写一个脚本来获取用户/计算机的位置,并将这些脚本带到外部网站(openweathermap.org)以获取特定位置的JSON。它完美地完成了这一点:
<html>
<head>
<meta charset="utf-8">
<title>Weather App</title>
<link rel="stylesheet" type="text/css" href="//fonts.googleapis.com/css?family=Arimo:400,700">
<script src="https://code.jquery.com/jquery-1.10.2.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<script>
$(document).ready(function() {
$("#click").click(function() {
if(navigator.geolocation) {
navigator.geolocation.getCurrentPosition(function(position) {
$("#message").text("lat: " + position.coords.latitude + " and long: " + position.coords.longitude);
});
}
});
});
</script>
</head>
<body>
<div>
<button id="click" ">Get Location</button>
</div>
<div id = "message">
Message goes here
</div>
</body>
</html>
我的网站上显示longitude
和latitude
。但是,如果我将脚本更改为:
<script>
$(document).ready(function() {
$("#click").click(function() {
if(navigator.geolocation) {
navigator.geolocation.getCurrentPosition(function(position) {
$.getJSON("api.openweathermap.org/data/2.5/weather?lat=" + position.coords.latitude + "&lon=" + position.coords.longitude, function(json) {
$("#message").html(JSON.stringify(json));
});
});
}
});
});
</script>
不再有用了。我仍然不安全使用这种JS / jQuery,所以这里是我的问题:
1.更常见的是:我使用的符号(点击处理程序,$ -sign)或getElementBy
,x.innerHTML
编码(我显然不知道这两个东西是如何被调用但我希望你意思)?
2.我试图在var lat = position.coords.latitude
函数(在早期版本中)中定义变量var long = position.coords.longitude
和navigator
,但似乎我可以在该函数中使用它们甚至更难以使用它们。在该功能之外定义 - 为什么?
3.当我尝试插入我想从中获取JSON的链接时 - 似乎有一些非常错误的东西。我使用api
,http://api
,https://
,https://api
,http://www.
进行了尝试,但似乎没有任何效果。如果我没有获得lat
和long
权利,我甚至尝试了一些具体的价值 - 没有成功。为什么?如何正确设置链接?最后我的appid
也丢失了,因为如果点击演示链接,它看起来更像是:http://samples.openweathermap.org/data/2.5/weather?lat=35&lon=139&appid=b1b15e88fa7024532541123439c1c50c122a1
我认为这是暂时的。任何帮助深表感谢。谢谢,伙计们!