Tôi đang cố gắng triển khai một ứng dụng thời tiết đơn giản trong codepen. Các ứng dụng hoạt động tốt trên localhost Nó yêu cầu sự cho phép để sử dụng navigator.geolocation và nếu chấp nhận nó cho thấy thời tiết, nhưng trên codepen nó thậm chí không yêu cầu sự cho phép.javascript - vị trí địa lý không hoạt động trong codepen
đây là liên kết
http://codepen.io/asamolion/pen/BzWLVe
Dưới đây là chức năng JS
function getWeather() {
'use strict';
$('#getWeatherButton').hide();
if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition(function (position) {
var url = 'http://api.openweathermap.org/data/2.5/weather?APPID=53ac88144e6ee627ad0ed85277545ff9';
// var url = 'example.js';
var apiCall = url + '&lat=' + position.coords.latitude + '&lon=' + position.coords.longitude;
// window.location.href = apiCall;
$.getJSON(apiCall, function (json) {
setSkycon(parseInt(json.weather[0].id, 10));
$('#location').html(json.name + ', ' + json.sys.country);
var temp = (Math.round((json.main.temp - 273.15) * 100)/100);
$('#temp').html(temp + '<span id="degree">°</span><span id="FC" onclick="convert()">C</span>');
$('#condition').html(json.weather[0].main);
});
});
}
};
Ai có thể cho tôi biết tại sao codepen không được xin phép?
Tôi đã sử dụng API vị trí địa lý khác. Đặc biệt là ip-api.com vì tôi thấy nó dễ dàng hơn. Dù sao cũng cảm ơn. – asamolion
Tôi tìm thấy navigator.geolocation để chính xác hơn nhiều. Ví dụ, ứng dụng của bạn đặt cho tôi trong một thành phố 50 dặm aways từ nơi tôi thực sự sống. – crownedjitter
Cảm ơn thông tin. Tôi sẽ ghi nhớ điều đó. – asamolion