Мое мобильное приложение в React Native. Я развернул свое приложение, используя выставку, и ссылка пришла на мой телефон. Все выглядит хорошо, когда я открыл свое приложение на моем iPhone и телефоне Android. Я развернул такое же приложение в Google Play, но в Google Play расстояние между текущей позицией и пунктом назначения телефона не является правильным. У меня есть следующий код в моем файле androidmanifest.xml:
manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.test">
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<application
android:name=".MainApplication"
android:label="@string/app_name"
android:icon="@mipmap/ic_launcher"
android:allowBackup="false"
android:theme="@style/AppTheme">
<activity
android:name=".MainActivity"
android:label="@string/app_name"
android:configChanges="keyboard|keyboardHidden|orientation|screenSize"
android:windowSoftInputMode="adjustResize">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name="com.facebook.react.devsupport.DevSettingsActivity" />
</application>
</manifest>
Этот файл androidManifest находится в моем mainProject \ android \ src \ mainandroidmanifest.xml
Я использую геодист для вычисления расстояния между текущим местоположением и пунктом назначения. Ниже мой код:
componentDidMount() {
navigator.geolocation.getCurrentPosition(
(position) => {
this.setState({
latitude: position.coords.latitude,
longitude: position.coords.longitude,
error: null,
});
},
(error) => this.setState({ error: error.message }),
{ enableHighAccuracy: true, timeout: 20000, maximumAge: 1000 },
);
}
var geodist = require('geodist')
var sLat= this.state.latitude;
var sLong = this.state.longitude;
var dist = geodist({lat: sLat, lon: sLong}, {lat: item.LatL, lon: item.Long2}, 'mi')
LatL и Long2 исходят из моего файла JSON, а sLat / sLong - из этой библиотеки геодистов. Это значение в dist является правильным, когда я отправляю ссылку на свой телефон с помощью expo, но когда я использую Google Play, то dist неверен. Я создаю файл apk, который я загрузил в Google Play с помощью expo. Ниже приведена небольшая часть моего файла Json:
[
{
"id":"1",
"fk": 1,
"addr": "Test street",
"phone": "911-111-1100",
"LatL":"23.1111",
"Long2":"-11.37",
"Online": "",
"image" : "test"
}
]
Не уверен, что я делаю неправильно, потому что expo правильно рассчитывает расстояние, просто Google Play не показывает правильное расстояние.
Любая помощь будет высоко оценена.