gpt4 book ai didi

javascript - OpenWeatherMap API - 附加经度和纬度时出现问题

转载 作者:行者123 更新时间:2023-11-28 04:28:10 32 4
gpt4 key购买 nike

我正在尝试根据我通过 .geolocation 访问的用户的经度和纬度来定义搜索城市

将经度和纬度添加到我的网址时出现此错误

cod    :    "400"    message    :    "-104.9435462 is not a float"

getLocation();

//Find Location of Device
function getLocation(callback) {
if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition(getData);
}

}

//Get/set Variables
function getData(position) {
var longitude = position.coords.longitude;
var latitude = position.coords.latitude;
var altitude = position.coords.altitude;
var heading = position.coords.heading;
var speed = position.coords.speed;
var date = position.timestamp;

getWeather(longitude, latitude);
console.log(longitude);
console.log(latitude);

}

//Call OpenWeatherAPI
function getWeather(x, y) {
const apiKey = '';
var url = 'http://api.openweathermap.org/data/2.5/forecast?lat=' + x + '&lon=' + y + '&APPID=280e605c456f0ba78a519edde1a641d3';

$.ajax({
url: url,
success: function(result) {

}
});
}; //END getWeather()
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

最佳答案

回答晚了,但希望这会节省其他人的时间。该错误消息具有误导性。

出现此错误的原因是,经度(范围为 -180 到 180)被放置在纬度(范围为 -90 到 90)中。

在代码中,getWeather() 调用如下:

getWeather(longitude, latitude);

但是请注意,函数中的纬度和经度 (x, y) 是有序的 (latitude, longitude):

  function getWeather(x, y) {
const apiKey = '';
var url = 'http://api.openweathermap.org/data/2.5/forecast?lat=' + x + '&lon=' + y + '&APPID= removed id';
// additional code
};

更改调用应该可以解决问题:

getWeather(latitude, longitude);

关于javascript - OpenWeatherMap API - 附加经度和纬度时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44856899/

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