我试图让用户获得当前的纬度和经度,并在ajax调用中使用它。 我有一系列城市和函数来获取用户的位置,但不知何故变量没有得到任何价值。
以下是一些代码:
function getLng(){
navigator.geolocation.getCurrentPosition(lng, error);
}
function getLat(){
navigator.geolocation.getCurrentPosition(lat, error);
}
function error(err){
console.warn('Error('+err.code+'):'+err.message);
}
function lat(position){
var crd = position.coords;
return crd.latitude;
}
function lng(position){
var crd = position.coords;
return crd.longitude;
}
我的目标是这样的:
{
id:'currentLocation',
name:'Current Location',
lat: getLat(),
lng: getLng(),
lastUpdated: -1,
weatherData: null
}
我的ajax电话是这样的: function getWeatherDataForCityId(city){
$.ajax({
url: 'https://api.forecast.io/forecast/<apikey>/' + city.lat +","+city.lng+"?units=si",
jsonp:'callback',
dataType:'jsonp',
success:function(data){
(stuff...)
我不知道为什么,但是city.lat继续作为“未定义的”#。
我允许浏览器分享我的位置。(我在Firefox上)
有人可以帮忙吗?
答案 0 :(得分:0)
这就是你需要使用getCurrentPosition
的方法$.datas.*.*[?(@>1000)]