ОБУЧЕНИЕ И КУРСЫ
МОИ КУРСЫ
ПОДДЕРЖКА
МАРКЕТПЛЕЙС
ИДЕИ НА РАЗРАБОТКУ
УПРАВЛЕНИЕ КОМПОНЕНТАМИ
ФРИЛАНС БИРЖА
МОИ ЗАКАЗЫ
Студии и разработчики
Моя студия
Founder NCHub.io
NoCode / LowCode Developer
Преподаватель Creatium.io
Измени данный код для вывода скорости в километрах в час, а также при достижении скорости 18 км/ч не считать пройденные шаги, а показать предупреждение, что пользователь уже не пешком идет, а передвигается на транспорте:
function set(id, text) {
document.getElementById(id).innerHTML = text;
}
function link(id, url) {
document.getElementById(id).setAttribute("href", url);
}
function safe(value, digits) {
return value != null ? value.toFixed(digits) : "?";
}
let numSteps = 0;
const stepLength = 0.7; // средняя длина шага в метрах
function updated(position) {
const speed = position.coords.speed;
if (speed > 0) {
const stepsPerMeter = 1 / stepLength;
const stepsPerSec = speed * stepsPerMeter;
const stepsThisInterval = stepsPerSec * 1; // количество шагов за секунду
numSteps += stepsThisInterval;
}
set("steps", Math.floor(numSteps)); // округляем до целого числа и выводим в div с id="steps"
set("coordinates", `${position.coords.latitude.toFixed(5)},${position.coords.longitude.toFixed(5)}`);
set("accuracy", safe(position.coords.accuracy, 0));
set("altitude", safe(position.coords.altitude, 0));
set("altitude-accuracy", safe(position.coords.altitudeAccuracy, 0));
set("heading", safe(position.coords.heading, 0));
set("speed", safe(speed, 1));
set("status", `${new Date(position.timestamp).toLocaleDateString()} ${new Date(position.timestamp).toLocaleTimeString()}`);
}
function failed(error) {
switch (error.code) {
case error.PERMISSION_DENIED:
error = "Permission Denied";
break;
case error.POSITION_UNAVAILABLE:
error = "Position Unavailable";
break;
case error.TIMEOUT:
error = "Timeout";
break;
default:
error = `Error: ${error.code}`;
}
set("status", error);
}
function request() {
if (navigator.geolocation) {
navigator.geolocation.watchPosition(updated, failed, { enableHighAccuracy: true });
}
}
request();
OpenAI Chat GPT-3 - это прогрессивный алгоритм машинного обучения, который автоматически создает правильные и привлекательные ответы на ввод пользователя в чат-ботах.
Добавлено: 15.03.2023 17:34
function set(id, text) {
document.getElementById(id).innerHTML = text;
}
function link(id, url) {
document.getElementById(id).setAttribute("href", url);
}
function safe(value, digits) {
return value != null ? value.toFixed(digits) : "?";
}
let numSteps = 0;
const stepLength = 0.7; // средняя длина шага в метрах
function updated(position) {
const speed = position.coords.speed * 3.6; // преобразование скорости в км/ч
if (speed > 0) {
const stepsPerMeter = 1 / stepLength;
const stepsPerSec = speed * stepsPerMeter;
const stepsThisInterval = stepsPerSec * 1; // количество шагов за секунду
if (speed < 18) {
numSteps += stepsThisInterval;
} else {
alert("Вы уже не пешком идете: передвижение на транспорте!");
}
}
set("steps", Math.floor(numSteps)); // округляем до целого числа и выводим в div с id="steps"
set("coordinates", `${position.coords.latitude.toFixed(5)},${position.coords.longitude.toFixed(5)}`);
set("accuracy", safe(position.coords.accuracy, 0));
set("altitude", safe(position.coords.altitude, 0));
set("altitude-accuracy", safe(position.coords.altitudeAccuracy, 0));
set("heading", safe(position.coords.heading, 0));
set("speed", safe(speed, 1));
set("status", `${new Date(position.timestamp).toLocaleDateString()} ${new Date(position.timestamp).toLocaleTimeString()}`);
}
function failed(error) {
switch (error.code) {
case error.PERMISSION_DENIED:
error = "Permission Denied";
break;
case error.POSITION_UNAVAILABLE:
error = "Position Unavailable";
break;
case error.TIMEOUT:
error = "Timeout";
break;
default:
error = `Error: ${error.code}`;
}
set("status", error);
}
function request() {
if (navigator.geolocation) {
navigator.geolocation.watchPosition(updated, failed, { enableHighAccuracy: true });
}
}
request();
Founder NCHub.io
NoCode / LowCode Developer
Преподаватель Creatium.io
Добавлено: 15.03.2023 17:40
дополни данный код так, чтобы при погрешности геопозиции в радиусе 50 метров не читывалась
Founder NCHub.io
NoCode / LowCode Developer
Преподаватель Creatium.io
Добавлено: 15.03.2023 17:42
дополни данный код так, чтобы при погрешности геопозиции в радиусе 50 метров не учитывалась
OpenAI Chat GPT-3 - это прогрессивный алгоритм машинного обучения, который автоматически создает правильные и привлекательные ответы на ввод пользователя в чат-ботах.
Добавлено: 15.03.2023 17:43
Для этого можно использовать условие, которое будет проверять значение погрешности координат и не учитывать шаги, если она больше 50 метров. Добавим это условие в функцию updated()
перед вычислением количества шагов:
function updated(position) {
const accuracy = position.coords.accuracy;
if (accuracy <= 50) { // учитываем шаги только если погрешность координат меньше 50 метров
const speed = position.coords.speed * 3.6; // преобразование скорости в км/ч
if (speed > 0) {
const stepsPerMeter = 1 / stepLength;
const stepsPerSec = speed * stepsPerMeter;
const stepsThisInterval = stepsPerSec; // количество шагов за секунду
if (speed < 18) {
numSteps += stepsThisInterval;
} else {
alert("Вы уже не пешком идете: передвижение на транспорте!");
}
}
}
set("steps", Math.floor(numSteps)); // округляем до целого числа и выводим в div с id="steps"
set("coordinates", `${position.coords.latitude.toFixed(5)},${position.coords.longitude.toFixed(5)}`);
set("accuracy", safe(accuracy, 0));
set("altitude", safe(position.coords.altitude, 0));
set("altitude-accuracy", safe(position.coords.altitudeAccuracy, 0));
set("heading", safe(position.coords.heading, 0));
set("speed", safe(speed, 1));
set("status", `${new Date(position.timestamp).toLocaleDateString()} ${new Date(position.timestamp).toLocaleTimeString()}`);
}
Теперь шаги будут учитываться только если погрешность координат меньше 50 метров, а если больше, то они не будут учитываться и количество шагов не будет меняться.
Определение геопозиции
Добавлено: 15.03.2023 17:34