gpt4 book ai didi

javascript - ajax 调用的纬度和经度 - Html5

转载 作者:行者123 更新时间:2023-11-28 06:43:54 24 4
gpt4 key购买 nike

我正在尝试获取用户当前的纬度和经度并将其用于 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调用是这样的:函数 getWeatherDataForCityId(城市){

$.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)

有人可以帮忙吗?

最佳答案

这就是您需要使用 getCurrentPosition 的方式

function success(position) {
$.ajax({
url: 'https://api.forecast.io/forecast/<apikey>/' + position.coords.latitude + "," + position.coords.longitude + "?units=si",
jsonp:'callback',
dataType:'jsonp',
success:function(data){
(stuff...)
}
});
}

function failure() {
console.warn('Error('+err.code+'):'+err.message);
}

navigator.geolocation.getCurrentPosition(success, failure);

关于javascript - ajax 调用的纬度和经度 - Html5,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33558708/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com