Шокирует тот факт, что пакет React-native-geolocation не может отображать заголовок устройства Android в реальном времени, несмотря на то, что lat и lng обновляются в реальном времени, а устройство движется. Я воздерживаюсь от использования onLocationChange, который сам встроен в карты Google, потому что он добавляет синий круглый значок, который я не могу обойти. Я предпочитаю использовать свой собственный значок маркера. Я выполнил инструкцию на странице github, но заголовок все равно не обновляется. Я решил использовать датчики на устройстве только для использования двух моих устройств, и все они не имеют магнитометра. Мне нужно корректно выйти и справиться, если на устройстве нет магнитометра. Я пытался использовать гироскоп, но в моих устройствах его тоже нет. Вторая часть меня шокировала, потому что аппаратные модули доступны уже давно. Я снова занимаюсь исправлением геолокации или есть ли способ удалить синий значок, который поставляется с onLocationChange. В любом случае проверьте мой код и посмотрите, есть ли какие-либо пробелы.
//track patrol team location
React.useEffect(() => {
Geolocation.requestAuthorization(
(_success?: any) => {
console.log("Location permission requested successfully");
},
(error?: GeolocationError) => {
console.log("Error requesting location permission:", error);
}
);
const watchId = Geolocation.watchPosition(
(position) => {
const { latitude, longitude, heading: geoHeading } = position.coords;
setCurrentPosition({
coordinate: { latitude, longitude },
altitude: position.coords.altitude ?? 0,
accuracy: position.coords.accuracy,
speed: position.coords.speed ?? 0,
heading: (heading || geoHeading) ?? 0, // Use heading if available
altitudeAccuracy: position.coords.altitudeAccuracy ?? undefined,
timeStamp: position.timestamp,
});
if (origin && destination && recordingMode) {
if (
state &&
state.location.lat !== latitude &&
state.location.lng !== longitude
) {
dispatch({
type: Types.SetLocation,
payload: {
lat: latitude ?? 0,
lng: longitude ?? 0,
heading: heading ?? 0,
},
});
} else return;
makeLogEntry({
latitude,
longitude,
heading: heading ?? undefined,
})
.then(() => console.log("Log made successfully"))
.catch((error) => console.log("Error making log entry:", error));
}
},
(error) => {
console.log("Error watching position:", error);
},
{
enableHighAccuracy: true,
distanceFilter: 0,
interval: 5000,
fastestInterval: 2000,
}
);
return () => {
Geolocation.clearWatch(watchId);
};
}, [origin, destination, recordingMode]);
Подробнее здесь: https://stackoverflow.com/questions/790 ... ealtime-ac
API геолокации React-native, заголовок всегда равен нулю. Невозможно показать точное движение в реальном времени (androi ⇐ Android
Форум для тех, кто программирует под Android
1732367135
Anonymous
Шокирует тот факт, что пакет React-native-geolocation не может отображать заголовок устройства Android в реальном времени, несмотря на то, что lat и lng обновляются в реальном времени, а устройство движется. Я воздерживаюсь от использования onLocationChange, который сам встроен в карты Google, потому что он добавляет синий круглый значок, который я не могу обойти. Я предпочитаю использовать свой собственный значок маркера. Я выполнил инструкцию на странице github, но заголовок все равно не обновляется. Я решил использовать датчики на устройстве только для использования двух моих устройств, и все они не имеют магнитометра. Мне нужно корректно выйти и справиться, если на устройстве нет магнитометра. Я пытался использовать гироскоп, но в моих устройствах его тоже нет. Вторая часть меня шокировала, потому что аппаратные модули доступны уже давно. Я снова занимаюсь исправлением геолокации или есть ли способ удалить синий значок, который поставляется с onLocationChange. В любом случае проверьте мой код и посмотрите, есть ли какие-либо пробелы.
//track patrol team location
React.useEffect(() => {
Geolocation.requestAuthorization(
(_success?: any) => {
console.log("Location permission requested successfully");
},
(error?: GeolocationError) => {
console.log("Error requesting location permission:", error);
}
);
const watchId = Geolocation.watchPosition(
(position) => {
const { latitude, longitude, heading: geoHeading } = position.coords;
setCurrentPosition({
coordinate: { latitude, longitude },
altitude: position.coords.altitude ?? 0,
accuracy: position.coords.accuracy,
speed: position.coords.speed ?? 0,
heading: (heading || geoHeading) ?? 0, // Use heading if available
altitudeAccuracy: position.coords.altitudeAccuracy ?? undefined,
timeStamp: position.timestamp,
});
if (origin && destination && recordingMode) {
if (
state &&
state.location.lat !== latitude &&
state.location.lng !== longitude
) {
dispatch({
type: Types.SetLocation,
payload: {
lat: latitude ?? 0,
lng: longitude ?? 0,
heading: heading ?? 0,
},
});
} else return;
makeLogEntry({
latitude,
longitude,
heading: heading ?? undefined,
})
.then(() => console.log("Log made successfully"))
.catch((error) => console.log("Error making log entry:", error));
}
},
(error) => {
console.log("Error watching position:", error);
},
{
enableHighAccuracy: true,
distanceFilter: 0,
interval: 5000,
fastestInterval: 2000,
}
);
return () => {
Geolocation.clearWatch(watchId);
};
}, [origin, destination, recordingMode]);
Подробнее здесь: [url]https://stackoverflow.com/questions/79014219/react-native-geolocation-api-heading-is-always-zero-unable-to-show-realtime-ac[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия