我的移动应用程序在React Native中。我使用expo部署了我的应用程序,链接链接到了我的手机。当我在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
我正在使用geodist计算当前位置与目的地之间的距离。下面是我的代码:
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来自此geodist库。当我使用expo将链接发送到手机时,此dist中的值是正确的,但是当我使用google play时dist是错误的。我正在创建使用expo上传到Google Play的apk文件。以下是我的Json文件的一小部分:
[
{
"id":"1",
"fk": 1,
"addr": "Test street",
"phone": "911-111-1100",
"LatL":"23.1111",
"Long2":"-11.37",
"Online": "",
"image" : "test"
}
]
不确定我在做什么错,因为expo正确计算了距离,它只是在google播放中没有显示正确的距离。
我们将不胜感激任何帮助。