我的測試手機是
使用 react native 版本為:
在抓取 location 一直拿不到,反而一直出現 error "location request timed out".
測試過程:samsung edge plus 6.
使用 react native 版本為:
^0.26.1
在抓取 location 一直拿不到,反而一直出現 error "location request timed out".
onPress 事件如下:
_onPress() { console.log('on press'); // 放個 console 看有沒有正確執行 navigator.geolocation.getCurrentPosition( (pos) => { console.log('pos', pos); this.props.onGetCoords(pos.coords.latitude, pos.coords.longitude); }, (error) => alert(error), {enableHighAccuracy: true, timeout: 20000, maximumAge: 1000} ); }
另外,AndroidManifest.xml 也有加上取得位置的權限
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
。手機有確定有開啟定位。
上網 google 一番發現有人也有類似問題 [react-native/issues/7495] Geolocation 'enableHighAccuracy' on Android always times out,最後我已把 enableHighAccuracy 改為 false, 可以正確取得 location 資訊:
{enableHighAccuracy: true, timeout: 20000, maximumAge: 1000}
請問有人有其他解嗎?!... 不是很喜歡這種方式... QQ
沒有留言:
張貼留言
若你看的文章,時間太久遠的問題就別問了,因為我應該也忘了... XD