我正在使用一种以编程方式更新注释的方法。我正在玩SwiftUI和UIViewRepresentable。显示地图。在地图上显示注释也不是问题。
现在我需要的是:我有一个位置提供程序,它提供CLLocation2D坐标。我想在地图上显示变化的位置,但不知道如何。
位置更新是通过ObservableObject提供的。这样可行。如果我在Text元素中显示更新,则可以看到它们:
@ObservedObject var pushedPoseClient = PushedPosesClient()
...
Text(String(format: "%.10f %.10f", self.pushedPoseClient.position.latitude ?? 0, self.pushedPoseClient.position.longitude ?? 0))
相同的机制不适用于地图。我以为每次更新职位都可以看到updateUIView
通话,但是没有。
如何将改变其坐标的ObservedObject显示在地图上?
关键是将CLLocation2D作为观察对象。然后就可以了。