if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition(function(position) {
$.getJSON("https://fcc-weather-api.glitch.me/api/current?lat=" + position.coords.latitude + "&lon=" + position.coords.longitude, function(json) {
$("#current-weather").html(json.weather[0].main);
var temp = json.main.temp;
var fahtemp = temp * (9 / 5) + 32;
var celtemp = (temp - 32) * (5 / 9);
$("#temp").text(Math.round(json.main.temp) + " °C");
$("#image").attr("src", json.weather[0].icon);
$("#fah").on("click", function() {
$("#temp").text(Math.round(fahtemp) + " °F");
});
$("#cel").on("click", function() {
$("#temp").text(Math.round(celtemp) + " °C");
});
});
});
}
$(document).ready(function() {
$.get("https://api.ipdata.co", function(response) {
$("#location").html(response.city + ", " + response.region);
}, "jsonp");
});
<script src="https://fcc-weather-api.glitch.me/"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://api.ipdata.co"></script>
答案 0 :(得分:1)
API可以具有可变速度,具体取决于API的主机。有可能它与你的代码无关,但是他们的服务器很难跟上。
答案 1 :(得分:0)
我相信您的地理定位请求需要很长时间。查看PositionOptions并为地理位置请求添加超时。
您可能还想为地理位置请求添加最大年龄选项。