我尝试将 id 属性国家/地区(即id="country"
)更改div元素的内容到用户所在国家&# 39;目前的立场。我的代码有什么问题吗?
function location (position){
var a=position.coords.latitude;
var b=position.coords.longitude;
$.getJSON('http://api.openweathermap.org/data/2.5/weather?lat='+a+'&lon='+b+'&APPID=b84cde4a2b80a14ecfebbd9ea7d08831&units=metric', function getData(data){
$("#country").html(data.sys.country);
})
}
答案 0 :(得分:0)
修改强>
值得一提的是,从Chrome 50开始,Geolocation API仅适用于HTTPS等安全上下文。
如果您的网站托管在非安全源(例如HTTP)上,则获取用户位置的请求将不再起作用。
如果您使用HTTPS,那么
<强> ORIGINAL 强>
我猜你没有正确建立你的位置对象。
确保您有一个position
对象,该对象具有一个名为coords
的属性,其值为一个具有两个属性(纬度和长度)的对象。每个对象都必须用{ }
它在这个片段中运行良好(原始代码不变):
function location(position) {
var a = position.coords.latitude;
var b = position.coords.longitude;
$.getJSON('http://api.openweathermap.org/data/2.5/weather?lat=' + a + '&lon=' + b + '&APPID=b84cde4a2b80a14ecfebbd9ea7d08831&units=metric', function getData(data) {
$("#country").html(data.sys.country);
})
}
/* here we build our position object with a coords child object containing latitude and longitude */
var pos = {
"coords": {
"latitude": 34.7459360,
"longitude": -118.2506350
}
};
/* now we actually call the script location(pos) using our position object */
location(pos);
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="country"></div>
&#13;