Я использую API оповещения Национальной службы погоды, который может предоставлять оповещения о погоде в зависимости от местоположения.Довольно аккуратные вещи.Я хотел бы сузить информацию и извлекать информацию только на основе геолокации пользователей, которая является жизнеспособным вариантом и проверяется вручную, вводя html-адрес и заканчивая его символом long long.Я пытаюсь автоматизировать процесс построения HTML, получив их местоположение и добавив его в строку, которая возвращается и используется в строке выборки.Когда я запускаю это, консоль показывает, что в адресе отсутствует широта.
Я не слишком много пробовал вне этого, потому что я действительно не знаю другого способа сделать это.
функция loadAlerts () {
fetch(alertDataForUserLocation)
.then(response => response.json())
.then(data => {
console.log(data) // Prints result from `response.json()` in getRequest
})
.catch(error => console.error(error))
function alertDataForUserLocation() {
var lat = "";
var long = "";
if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition(showPosition);
} else {
alert("Geolocation needs to be enabled for this site.");
}
return "https://api.weather.gov/alerts/active?point=?" + lat + "," + long;
}
function showPosition(position) {
lat = position.coords.latitude;
long = position.coords.longitude;
}
Моя логика говорит мне, что выборка вызовет функцию alertDataForUserLocation() который предоставит правильный html-адрес с латинским длинным в конце.Это не то, что показано, хотя.Ниже приведена ошибка, которую я получаю.
api.weather.gov / alerts / active? Point =?,: 1 Не удалось загрузить ресурс: сервер ответил со статусом 400 ()