4

我想在我的上面画一个叠加层,MKMapView所以我定义了这个delegate类来定义叠加层的视图。但如您所见,似乎从 iOS 7 开始,建议我们使用GetRendererForOverlay而不是GetViewForOverlay. 问题是我找不到任何按名称GetRendererForOverlay覆盖的方法。用更好的话来说,似乎MKMapViewDelegate没有任何用于覆盖的虚拟方法GetRendererForOverlay。那么我们应该如何使用它呢?

public class myMapDelegat : MKMapViewDelegate {


    [Obsolete ("Since iOS 7 it is recommnended that you use GetRendererForOverlay")]
    public override MKOverlayView GetViewForOverlay (MKMapView mapView, NSObject overlay)
    {
        // NOTE: Don't call the base implementation on a Model class
        // see http://docs.xamarin.com/guides/ios/application_fundamentals/delegates,_protocols,_and_events
        throw new NotImplementedException ();
    }

}

我阅读了注释中建议的文档,但我没有找到任何关于 GetRendererForOverlay 的信息。

4

1 回答 1

0

你也可以你GetViewForOverlayiOS7的方法。但你也需要打电话

var circleOverlay = MKCircle.Circle (mapView.CenterCoordinate, 1000);
mapView.AddOverlay (circleOverlay);

在其他地方触发上述方法。

于 2014-07-11T09:03:09.243 回答