gpt4 book ai didi

ios - Appcelerator Geolocation 从不返回 iOS 上的速度

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:33:53 24 4
gpt4 key购买 nike

我正在使用 Appcelerator 来提供地理跟踪。这在 Android 上运行良好,但在 iOS 平台上,我无法从 onLocation 事件中获取速度或航向信息。

我初始化我的 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 上,负值表示航向数据无效。”

我在这里做错了什么?

最佳答案

我们遇到了同样的问题,正在努力解决这个问题。尝试将 Ti.Geolocation.ACCURACY_BEST 更改为 Ti.Geolocation.ACCURACY_BEST_FOR_NAVIGATION。这为我们解决了问题。

关于ios - Appcelerator Geolocation 从不返回 iOS 上的速度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42615548/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com