【发布时间】:2020-05-04 01:46:19
【问题描述】:
刚接触 Swift/SwiftUI,但目前正在使用 SwiftUI 开发应用程序并且已经到了一个停止点,因为我终其一生都无法弄清楚如何在用户点击按钮时简单地获取他们的当前位置。当然这不可能这么难?!任何帮助将不胜感激!
我真正追求的只是让用户在点击按钮时最终能够在地图上(使用MapKit)在他们当前的位置放置一个图钉。
【问题讨论】:
-
假设您已获得授权并且用户已允许您的应用使用定位服务,请调用
CLLocationManager的requestLocation()方法。 -
这项工作必须在你的模型中完成 - 有一个你可以在点击按钮时调用的函数;它可以调用
requestLocation。让位置管理器的委托方法更新模型中已发布的位置属性。您的视图可以使用此更新后的属性将注释添加到地图 -
我在研究过程中发现了这一点,但我不知道如何使用 SwiftUI 实现 ViewController。 hackingwithswift.com/example-code/location/… 我一直在学习 SwiftUI 的教程,但这是我第一次看到任何带有 ViewController 的东西。
-
我不知道您是如何在 SwiftUI 上下文中从该链接实现上述代码的,更不用说在按钮的操作中了。
-
使用 SwiftUI 将是一个额外的挑战,因为您需要使用托管视图将 MKMapView 放入您的 SwiftUI 视图中。一旦你完成了,它应该非常简单。您无需担心视图控制器。您只需要更新您的模型并确保您的地图视图使用模型添加注释。