[英]Meteor's cordova: geolocation plugin doesn't work on mobile
我正在將Meteor(1.2.0.2)應用程序部署到Android設備。
我通過安裝插件
meteor add cordova:cordova-plugin-geolocation@1.0.0
添加了Cordova插件cordova-plugin-geolocation@1.0.0。
我通過以下方式使用了該插件:
document.addEventListener("deviceready", onDeviceReady, false);
function onDeviceReady() {
navigator.geolocation.getCurrentPosition(function(p){ // onSuccess
console.log(p);
}, function(e){
console.log(e);
});
}
在台式機上工作正常(將p打印為Geolocation對象),但在移動設備上,它僅忽略回調(成功和錯誤)。
我通過設置斷點在Chrome DevTools( chrome:// inspect )中對其進行了測試。 它會一直執行到.getCurrentPosition調用,然后(跳過或進入)僅跳過兩個回調(如果在其中設置了斷點,則不會命中)。
我什至試過
navigator.geolocation.getCurrentPosition(function(p){ console.log(p);
兩者都在桌面控制台上運行
undefined
Geolocation { ... }
和移動設備( 無效 )
undefined
// nothing else is printed
也許與應用程序的權限有關?
編輯 :我驗證了AndroidManifest.xml ,並且權限實際上是由插件設置的:
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
@dragonmnl,
您沒有談論超時,我必須假設您沒有將超時設置足夠長的時間。 嘗試將其設置為至少20秒左右。
如果您的讀數很差,或者您正在超時
在大約30-45秒內,您應該閱讀一次。 當您閱讀我給您的鏈接時,這將很有意義。
傑西
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.