SwiftUI Map委托访问

问题描述

我正在尝试重构SwiftUI应用程序。

来自:MapView的IUViewRepresentable 要:SwiftUI的本地Map()视图。

但是,我的应用程序必须能够对用户的平移和缩放做出反应。在我的UIViewRepresentable版本中,我向Coordinator类添加了MKMapViewDelagate协议,并创建了mapView(_ mapView:regionDidChangeAnimated)

如何为SwiftUI本机版本分配委托类?

我已经看到一些帖子使用init()方法通过MKMapView.appearance()来调整地图的外观。事实证明这具有委托属性,但是在此处分配委托不会导致调用mapView:regionDidChangeAnimated方法...

解决方法

由于Map()接受区域绑定,因此您可以使用.onChange对区域更改做出反应。