如何解决如何在 Xamarin.ios 中制作自定义 MKPolyLine
除非我错了,MKpolyLine 是通过与 MKMapView 委托关联的GetViewForOverlay
覆盖在地图上绘制的。
public override MKOverlayView GetViewForOverlay(MKMapView mapView,IMKOverlay overlay)
{}
我想将自定义属性与我的 MKpolyLine 相关联,以便 GetViewForOverlay 可以使用它。
所以我写了一个新类:
public class polyLineWithPrivacy : MapKit.MKpolyline
{
public bool PrivacyOn { get; set; }
}
private void TracepolyLine(List<CLLocationCoordinate2D> routeParts,bool privacyon)
{
GeoFleet.iOS.polyLineWithPrivacy polyLine = (GeoFleet.iOS.polyLineWithPrivacy)MapKit.MKpolyline.FromPoints(routeParts.Select(rp => new MapKit.MKMapPoint(rp.Latitude,rp.Longitude)).ToArray());
polyLine.PrivacyOn = privacyon;
this.mapView.AddOverlay(polyLine);
}
但是这会崩溃(在演员期间),因为 I can't assign a base class object to a derived class。
那么我有哪些选择?有没有办法从 MKMapPoint 的集合中构造 MKpolyLine?如何在渲染器覆盖中处理我的 PrivacyOn 成员?
编辑:我现在使用默认构造函数,只是将点附加到 Points 集合。
EDIT2:附加点不起作用,集合保持为空:(
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。