geolocation-service isnt giving accurate lat and long from this lib.
Environment
Run npx react-native info in your terminal and copy the results here.
Platforms
Is this issue related to Android ? yes
Versions
Please add the used versions/branches
- Android: any version mainlly less then 14
- react-native-geolocation-service: 5.3.1
- react-native:0.68.0
- react:17.0.2
Description
lat and long getting incorrect
Reproducible Demo
Provide a detailed list of steps that reproduce the issue.
- async ConfirmLocation(type) { this.setState({ selectedImageBase4: '', avatarSource: '', remarksNote: '', }); Geolocation.getCurrentPosition( async (position) => { const { latitude, longitude, accuracy } = position.coords; this.setState({ newLatLong: position }); if (this.state.flag == '0') { this.setState({ isLoading: true, latitude, longitude }); } else { this.setState({ isLoading: true, CheckOutLat: latitude, CheckOutLong: longitude }); }
if (this.state.flag == '0') {
const val = await CommonFunctions.A1(latitude, longitude, '', 'ATTN', this.state.userId);
this.setState({
GetPreInChecksMobPolicyData: val,
CheckInDeviation: val.DeviationMsg,
CheckInAddress: JSON.stringify(val.Address).slice(1, -1).replace(/[']/g, "")
});
} else {
const timeOutVal = await CommonFunctions.CheckOut(latitude, longitude, this.state.latitude, this.state.longitude, '', 'ATTN', this.state.userId);
this.setState({
GetPreInChecksMobPolicyData: timeOutVal,
CheckOutDeviation: timeOutVal?.DeviationMsg,
CheckOutAddress: JSON.stringify(timeOutVal?.Address).slice(1, -1).replace(/[']/g, "")
});
}
if (type == 'timeinout') {
this.setState({ timeinout: true });
}
this.setState({ isLoading: false, showAlert: true });
}, (error) => { console.log("Error getting location:", error); this.setState({ isLoading: false, showAlert: true, error: error.message }); }, { enableHighAccuracy: true, timeout: 200000, maximumAge: 1000, distanceFilter: 0, }, ); }
some time i get incorrect lat and long on android devices
Dear All,
I am currently working with the @react-native-community/geolocation library in my project, which uses React Native version 0.68.0 and React version 17. The setup for the library works well in general, but I am encountering an issue where the latitude and longitude values fluctuate or are sometimes inaccurate, particularly on Android devices.
Despite the setup being correct, I am unable to consistently retrieve accurate coordinates, which affects the functionality of the app. Could you kindly suggest any solutions or best practices to resolve this issue and ensure more reliable geolocation accuracy?
Thank you for your help, and I look forward to your guidance.
Best regards, Devendra
+1
+1
I solved it. The latitude and longitude I obtained were obtained by calling Gaode Map and using coordtransform coordinate transformation (WGS84->GCJ02). It depends on which coordinate system you use