@luxurypluxury

Почему функция возвращает undefined?

Почему эта функция возвращает undefined, а не url?

export const getGeo = () => {
    if ('geolocation' in navigator) {
        navigator.geolocation.getCurrentPosition((position) => {
            let latitude = position.coords.latitude;
            let longitude = position.coords.longitude;
            let API_KEY = 'AIzaSyCYYb9Zt3681daQpJ7fvsU-Tm-x_o9rKIkzc';
            let url =
                "https://maps.googleapis.com/maps/api/geocode/json?latlng=" +
                latitude + "," + longitude +
                "&key=" + API_KEY + "&language=en";
            return url;
        })
    } else {
        console.log("Geolocation is not supported by this browser.");
    }
}
  • Вопрос задан
  • 68 просмотров
Пригласить эксперта
Ответы на вопрос 1
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
Выносим каллбэк наружу и смотрим, а почему, собственно, функция getGeo должна что-либо возвращать?
const API_KEY = 'AIzaSyCYYb9Zt3681daQpJ7fvsU-Tm-x_o9rKIkzc';
const API_URL = 'https://maps.googleapis.com/maps/api/geocode/json?';

function makeUrl({ coords }) {
  return `${API_URL}latlng=${coords.latitude},${coords.longitude}&key=${API_KEY}&language=en`;
}

export const getGeo = () => {
    if ('geolocation' in navigator) {
        navigator.geolocation.getCurrentPosition(makeUrl);
    } else {
        console.log("Geolocation is not supported by this browser.");
    }
}
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы