iOS MKMapViewDelegate - 第二次获取 UserLocation

发布于 2024-12-04 02:57:44 字数 261 浏览 3 评论 0原文

我创建一个 MKMapView 并将 MKMapViewDelegate 与其关联。

MKMapViewDelegate 会正确收到 DidUpdateUserLocation 和其他生命周期事件发生的通知。

当我稍后在应用程序中创建另一个 MKMapView 时,MKMapViewDelegate 不会收到有关 MapLoaded 等的任何通知。只是构造函数被解雇。

如何第二次获取新的地图实例以使用生命周期事件更新 MKMapViewDelegate?

I create a MKMapView and associate a MKMapViewDelegate with it.

The MKMapViewDelegate gets notified correctly that DidUpdateUserLocation and other life cycle events occurred.

When I create another MKMapView later on in the app, the MKMapViewDelegate doesn't receive any notifications about MapLoaded or the like. Just the constructor is fired.

How do I get a new map instance the 2nd time to update the MKMapViewDelegate with lifecycle events?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

千仐 2024-12-11 02:57:44

在 iPhone 上使用 .NET (MonoTouch)

在 Map Delegate 中仅处理此事件一次,它会被多次触发。这样您就无需担心地图如何缓存。

    public override void RegionChanged (MKMapView mapView, bool animated)
    {
        if (!hasSetupMapBoolean)
        {
            localCopymap = mapView;
            DoYourSetupMap ();
        }
    }

Using .NET for iPhones (MonoTouch)

In the Map Delegate handle this event ONCE only, it gets fired a lot. This way you never need to worry about how the map caches.

    public override void RegionChanged (MKMapView mapView, bool animated)
    {
        if (!hasSetupMapBoolean)
        {
            localCopymap = mapView;
            DoYourSetupMap ();
        }
    }
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文