Добрый день всем, извините за вопрос logi c так как я здесь новенький. Я создаю свое первое полнофункциональное приложение с использованием React и Node. Я думаю о трех подходах, но не уверен, какой из них будет работать лучше всего.
ОДИН ПОДХОД
Я хочу быть может получить широту / долготу пользователя, когда они заполняют форму в интерфейсе и запрашивают доступ к их геолокации через API геолокации. Например, когда пользователь отправляет свой регион и название сообщества, серверная часть вызывает API геолокации getCurrentPosition. Затем возвращенная широта / долгота будет составлять часть данных, которые будут отправлены в базу данных, как показано в извлеченном коде ниже. Но когда я попробовал этот подход, я столкнулся с двумя проблемами. Во-первых, сообщение об ошибке navigator is not defined
. Во-вторых, я не знаю, как получить возвращаемое значение широты и долготы и объявить его как константу, чтобы использовать его при создании местоположения. См. Код ниже:
if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition(success, error);
} else {
alert("Your browser is out of fashion. There is no geo location!")
}
function success(position) {
var latitude = position.coords.latitude;
var longitude = position.coords.longitude
console.log(`Your latitude is ${latitude} and your longitude is ${longitude}`)
return (latitude, longitude);
}
function error() {
alert("Can't detect your location. Try again later.")
}
Как объявить lat / long как константу вне функции. Некоторые из них:
const communityName = req.body.communityName;
const latitude = (success).latitude;
const longitude = (success).longitude;
ПОДХОД 2
Я загрузил пакет геолокации npm и использую его, как в коде ниже, но получаю сообщение об ошибке, что навигатор не определен . Если я использую этот подход, как я могу определить навигатор и как я могу объявить lat / long как константу вне функции?
const geolocation = require('geolocation');
geolocation.getCurrentPosition(function (err, position) {
if (err) throw err
console.log(position)
})
ПОДХОД 3
Я читал об этом подходе, но не могу найти рабочий пример. Предлагается использовать API геолокации, чтобы получить широту и долготу пользовательского устройства и отправить координаты как часть данных req.body в API серверной части. Если это хороший подход, есть ли учебное пособие, которому я могу следовать?
Пожалуйста, я новичок в Javascript и кодировании, но я добился серьезного прогресса, но это позволило мне заняться моим проектом. Нет ответа - слишком неправильная аренда. В чепухе есть смысл.