使用React的位置请求在Android模拟器上超时
我正在用react-native构建我的第一个android应用程序。 我想要做的是显示我的当前位置 。 但它似乎不适用于我的模拟器 。 相反,我在控制台中收到“位置请求超时”错误。 以下是我的idex.android.js文件中的代码示例:
initGeoloc() {
navigator.geolocation.getCurrentPosition(
(position) => {
console.log(JSON.stringify(position));
}
);
}
render() {
this.initGeoloc();
... some more code and the view
代码非常简单,所以我不认为这个错误来自这里。 我在AndroidManifest.xml文件(ACCESS_FINE_LOCATION,ACCESS_COARSE_LOCATION)中添加了这些权限:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.myapp">
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<application
android:allowBackup="true"
android:label="@string/app_name"
android:icon="@mipmap/ic_launcher"
android:theme="@style/AppTheme">
<activity
android:name=".MainActivity"
android:label="@string/app_name"
android:configChanges="keyboard|keyboardHidden|orientation|screenSize">
<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" />
<uses-library android:name="com.google.android.maps" />
<meta-data android:name="com.google.android.geo.API_KEY" android:value="mykey"/>
</application>
我在这里也没有看到任何问题,所以我认为问题来自Android模拟器。 我使用Android虚拟设备管理器创建Nexus 5,Google API(Google Inc.) - API Level 23虚拟设备。 设备上的地理位置已激活,但在开发工具或配置中没有看到任何地理定位工具。 所以这个错误可能来自这里。 虚拟设备不会返回任何位置。
我怎样才能解决这个问题 ?
设置为enableHighAccuracy false,问题就会解决
navigator.geolocation.getCurrentPosition((position) => {
console.log(position);
}, error => console.error(error), { enableHighAccuracy: false, timeout: 20000, maximumAge: 1000 });
这个问题在这个线程中得到了回答。 如何在Android模拟器中模拟GPS位置? 对不起,重复。 我使用telnet解决了我的问题。
链接地址: http://www.djcxy.com/p/90643.html上一篇: Location request timed out on android emulator with React
下一篇: GPS provider enabled but getLastKnownLocation(provider) returns null