2017-03-05 65 views
1

我正在使用Appcelerator提供地理軌道。這在Android上運行得非常好,但在iOS平臺上,我沒有從onLocation事件獲取速度或標題信息。Appcelerator地理位置永遠不會返回iOS上的速度

我初始化我的GPS:

permissions.requestLocationPermissions(Ti.Geolocation.AUTHORIZATION_ALWAYS, function (e) { 
    if (e.success && !configuredMonitoring) { 
     if (OS_IOS) { 
      Ti.Geolocation.accuracy = Ti.Geolocation.ACCURACY_BEST; 
      Ti.Geolocation.distanceFilter = 5; 
      Ti.Geolocation.preferredProvider = Ti.Geolocation.PROVIDER_GPS; 
      Ti.Geolocation.pauseLocationUpdateAutomatically = true; 
      Ti.Geolocation.activityType = Ti.Geolocation.ACTIVITYTYPE_OTHER_NAVIGATION; 
     } 

     if (OS_ANDROID) { 
      Ti.Geolocation.Android.addLocationProvider(Ti.Geolocation.Android.createLocationProvider({ 
       name: Ti.Geolocation.PROVIDER_GPS, 
       minUpdateDistance: 10, 
       minUpdateTime: 1 
      })); 
      Ti.Geolocation.Android.addLocationRule(Ti.Geolocation.Android.createLocationRule({ 
       provider: Ti.Geolocation.PROVIDER_GPS, 
       accuracy: 10, 
       maxAge: 5000, 
       minAge: 1000 
      })); 
      Ti.Geolocation.Android.addLocationProvider(Ti.Geolocation.Android.createLocationProvider({ 
       name: Ti.Geolocation.PROVIDER_NETWORK, 
       minUpdateDistance: 10, 
       minUpdateTime: 1 
      })); 
      Ti.Geolocation.Android.addLocationRule(Ti.Geolocation.Android.createLocationRule({ 
       provider: Ti.Geolocation.PROVIDER_NETWORK, 
       accuracy: 10, 
       maxAge: 5000, 
       minAge: 1000 
      })); 
      Ti.Geolocation.Android.manualMode = true; 
     } 
} 

然後,添加事件監聽器適用於iOS的位置更新被暫停

if (Ti.Geolocation.locationServicesEnabled){ 
    Ti.Geolocation.addEventListener('location', onLocation); 
    if (OS_IOS) { 
    Ti.Geolocation.addEventListener('locationupdatepaused', onLocationupdate); 
    Ti.Geolocation.addEventListener('locationupdateresumed', onLocationupdate); 
    } 
} 

我onLocation函數運行 功能onLocation(E){

if (!e.error) { 
     var coords = e.coords; 
     console.log(JSON.stringify(e)); 
    } else { 
     console.log('Error!':+JSON.stringify(e)) 
    } 
} 

我的退貨數據我看到

{ 
    "success":true, 
    "coords:{ 
     "timestamp":1488757841662, 
     "speed":-1, 
     "longitude":173.2793426513672, 
     "floor":{"level":0}, 
     "latitude":-41.274879455566406, 
     "accuracy":65, 
     "heading":-1, 
     "altitude":3.9126133918762207, 
     "altitudeAccuracy":10 
    }, 
    "code":0, 
    "bubbles":true, 
    "type":"location", 
    "source":{ 
     "preferredProvider":null 
    }, 
    "cancelBubble":false 
} 

我的速度或標題中根本沒有看到除-1之外的任何內容,根據文檔說明:「在iOS上,負值表示標題數據無效。」

我在這裏做錯了什麼?

+1

您可以輕鬆編輯@Greg。看到你的文章下面的「編輯」動作:-) –

+0

我到處尋找編輯按鈕;) 但問題仍然與速度和標題... – Greg

回答

1

我們有這個相同的問題,並試圖弄清楚我們的頭髮。嘗試將Ti.Geolocation.ACCURACY_BEST更改爲Ti.Geolocation.ACCURACY_BEST_FOR_NAVIGATION。這爲我們修復了它。

+0

感謝AVines。發現! :) – Greg

相關問題