SwiftUI:如何获取用户的当前位置?

缺口

我正在尝试获取用户的当前位置,然后将其显示在地图上。到目前为止,我有以下代码。问题是我不断收到此错误Static member 'authorizationStatus' cannot be used on instance of type 'CLLocationManager'当我将第 46 行更改为

如果 CLLocationManager.authorizationStatus() == .authorizedWhenInUse{

我收到这个警告

'authorizationStatus()' 在 iOS 14.0 中被弃用

我尝试查看其他 stackoverflow 帖子,但我真的不明白。有人可以帮我吗。顺便说一句,我不是那么先进,所以如果您有耐心,我将不胜感激。我从我正在关注的教程中获得了代码,所以我并没有完全理解它的全部内容

import SwiftUI
import MapKit

struct ContentView: View {
  
    var body: some View {
        Home()
    }
}


struct Home: View{
    
    @State var region = MKCoordinateRegion(center: CLLocationCoordinate2D(latitude: 13.086, longitude: 80.2769), latitudinalMeters: 1000, longitudinalMeters: 1000)
    
    @State var tracking : MapUserTrackingMode = .follow

    @State var manager = CLLocationManager()

    @StateObject var managerDelegate = locationDelegate()
    
    var body: some View {
        VStack{
            Map(coordinateRegion: $region, interactionModes: .all, showsUserLocation: true, userTrackingMode: $tracking)
        }.onAppear{
            manager.delegate = managerDelegate
        }
    }
}

class locationDelegate: NSObject,ObservableObject,CLLocationManagerDelegate{
    
    // Checking authorization status...
    
    func locationManagerDidChangeAuthorization(_ manager: CLLocationManager) {
       
      
        **// THIS IS LINE 46**

        if manager.authorizationStatus() == .authorizedWhenInUse{
            print("Authorized")
            
            
            manager.startUpdatingLocation()
            
        } else {
            
            print("not authorized")
            manager.requestWhenInUseAuthorization()
        }
        
    }
    
    func locationManager(_ manager: CLLocationManager, didUpdateLocations locations: [CLLocation]) {
        print("lew location")
    }
}
阿比西恩

是的,它已被弃用,赞成使用同名属性而不是函数,请尝试不带括号...

if manager.authorizationStatus == .authorizedWhenInUse {

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

在不使用GPS或互联网的情况下获取用户的当前位置名称,而是通过在Android中使用Network_Provider

如何获取文件的当前位置

获取UIScrollView的当前位置

如何使用Google Geocode API和PHP获取用户的当前位置

如何在angularjs中获取元素的当前位置

以R / Shiny获取用户的当前日期和时间

快速获取用户当前位置4

如何使用boto3获取用户的当前密码使用期限

如何获取用户的桌面位置

如何在Dialogflow chatbot中获取用户的当前位置?

在Zig中获取用户输入的当前方法

如何获取SwiftUI View的当前颜色?

如何获取用户的当前ID传递给_Layout ASP.NET Core?

如何使用经纬度来获取用户当前位置

如何在mkmapview中查找用户的当前位置

如何使用Google Maps API而非位置管理器获取用户当前的位置坐标

Google Maps iOS SDK,获取用户的当前位置

如何在不使用核心位置服务的情况下获取用户的当前城市名称?

获取ViewPager的当前位置

Powerpoint如何获取用户所在的当前缩放百分比?

如何在Android中获取用户的当前位置

如何使用GPS获取用户位置

如何让谷歌地图api获取用户的当前位置以将其存储在数据库中?

获取用户当前位置 - Kotlin

如何重构此获取用户当前位置的 JS 代码?

尝试在 Dialogflow 中获取用户的当前位置时遇到错误

如何使用 swiftUI 视图在启动时将 Google 地图相机聚焦到用户的当前位置

SwiftUI mapkit 将区域设置为用户的当前位置

从 Spring 的当前会话中获取用户信息?