【发布时间】:2016-03-30 01:11:59
【问题描述】:
在我的 iOS 应用上,地理位置可以正常工作,并在观察者功能上获取我的位置。
但是对于 Android,当我放入警报或控制台日志时,代码似乎永远不会在成功或失败回调中执行。
watchID: (null: ?number),
this.watchID = navigator.geolocation.watchPosition(
(position) => {
this.setState({
userLocation: position,
geo: true
}, this.fetchBusinesses());
},
(error) => console.log(error.message),
{enableHighAccuracy: true, timeout: 2000, maximumAge: 1000}
);
【问题讨论】:
-
按照这里:facebook.github.io/react-native/docs/geolocation.html - 你的清单中有
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />(在 JAVA 端)吗?此外,Android Studio 中是否有任何关于该过程中可能出现的 JAVA 端错误的信息? -
我的清单 XML 文件中确实有这个。当我删除它进行测试时,它确实提醒我说它丢失了,所以它确实承认它已被发现。我没有使用 Android Studio 在 npm 上编译
react-native run-android,所以除了 console.logs 之外我看不到任何日志。 -
如果你的机器上连接了一个设备,即使你通过终端编译和运行,你也会在 Android Studio 中看到很多输出。它帮助我在进行反应编码时调试了许多问题。 :) 值得一试。抱歉,我无法提供更多帮助
-
您是在模拟器还是在设备上进行测试?如果在模拟器上是哪个?
-
因为我用的是模拟器。在真实设备上它可以工作,感谢您的帮助。
标签: android geolocation react-native