首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >NativeScript 8.2 :如何使用CLHeading trueHeading获取方向

NativeScript 8.2 :如何使用CLHeading trueHeading获取方向
EN

Stack Overflow用户
提问于 2022-03-29 13:59:00
回答 1查看 45关注 0票数 0

,我正在尝试使用CLHeading trueHeading在我的本地文本应用程序中获得方向,但是它总是返回为null。locationservice.ts

代码语言:javascript
复制
import { Injectable } from "@angular/core";

@Injectable()
export class LocationService {

    private iosLocManager: CLLocationManager;
    private locManagerDelegate: LocationMangerDelegate;
    
    constructor() {
        this.iosLocManager = new CLLocationManager();
        this.locManagerDelegate = new LocationMangerDelegate();
        this.iosLocManager.desiredAccuracy = 3;
        this.iosLocManager.distanceFilter = 0.1;
        this.iosLocManager.delegate = this.locManagerDelegate;
    }


     getDirection(): number {
        return this.locManagerDelegate.currentHeading;
    }

    startUpdatingHeading(): void {
       this.locManagerDelegate.currentHeading = null;
      this.iosLocManager.startUpdatingHeading();
    }

    stopUpdatingHeading(): void {
      this.iosLocManager.stopUpdatingHeading();
    }
}

export class LocationMangerDelegate extends NSObject implements CLLocationManagerDelegate {
    public static ObjCProtocols = [CLLocationManagerDelegate];

    currentHeading: number;

    locationManagerDidUpdateHeading(locationManager: CLLocationManager, heading: CLHeading): void {
     this.currentHeading = heading.trueHeading;
    }
    
}

组件

代码语言:javascript
复制
constructor(private locationService: LocationService) {    
  this.locationService.startUpdatingHeading();
  }
  
  
  GetDirection(): void {
       let direction = this.locationService.getDirection();
    }

如何获得trueHeading的值,或者如何在NativeScript IOS中获得方向?

Package.json

代码语言:javascript
复制
{
  "dependencies": {
    "@angular/animations": "~13.2.0",
    "@angular/common": "~13.2.0",
    "@angular/compiler": "~13.2.0",
    "@angular/core": "~13.2.0",
    "@angular/forms": "~13.2.0",
    "@angular/http": "7.2.16",
    "@angular/platform-browser": "~13.2.0",
    "@angular/platform-browser-dynamic": "~13.2.0",
    "@angular/router": "~13.2.0",
    "base-64": "^0.1.0",
    "cross-env": "^5.2.0",
    "lodash": "^4.17.11",
    "@nativescript/angular": "^13.0.0",
    "@nativescript/appversion": "2.0.0",
    "@nativescript/camera": "5.0.10",
    "nativescript-couchbase": "^1.0.18",
    "@nativescript/email": "2.0.5",
    "@nativescript/geolocation": "8.0.2",
    "nativescript-phone": "3.0.3",
    "nativescript-screen-orientation": "^2.0.0",
    "nativescript-theme-core": "~1.0.4",
    "reflect-metadata": "~0.1.13",
    "rxjs": "~7.5.0",
    "rxjs-compat": "^6.4.0",
    "utf8": "^3.0.0",
    "zone.js": "~0.11.5",
    "@nativescript/core": "~8.2.0"
  },
  "devDependencies": {
    "@angular/compiler-cli": "~13.2.0",
    "@nativescript/schematics": "~0.5.0",
    "@ngtools/webpack": "~13.2.0",
    "@nativescript/webpack": "5.0.6",
    "@angular-devkit/build-angular": "~13.2.0",
    "@nativescript/ios": "8.2.1",
    "@nativescript/types": "8.1.1",
    "typescript": "~4.5.5"
  },
  "readme": "NativeScript Application",
  "main": "./src/main.ts"
}

Reference.d.ts

代码语言:javascript
复制
/// <reference path="./node_modules/@nativescript/types/index.d.ts" /> 

Info.plist

代码语言:javascript
复制
      <key>UIRequiredDeviceCapabilities</key>
          <array>
            <string>magnetometer</string>
            <string>gps</string>
            <string>location-services</string>
     </array>
     <key>NSLocationWhenInUseUsageDescription</key>
     <string>Description</string>
     <key>NSLocationAlwaysAndWhenInUseUsageDescription</key>
     <string>Description</string>
     <key>NSLocationAlwaysUsageDescription</key>
     <string>Description</string>

我怎样才能从CLHeading trueHeading那里得到方向?它总是返回null?我少了什么?

EN

回答 1

Stack Overflow用户

发布于 2022-03-29 14:06:52

检查文档:

只有在为相应的位置管理器对象启用位置更新时,此属性才包含有效值。由于正北的位置不同于磁北在地球表面的位置,核位置需要设备的当前位置来计算这一属性的值。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71663444

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档