具有自定义PIN图像的MonoTouch多个Mapkit CLLocationCoordinate2D

时间:2012-03-27 15:57:58

标签: c# ios xamarin.ios mapkit mkannotation

您好我的主要问题是如何使用MKAnnotationView为我的所有坐标点设置自定义图片图像。

作为参考,我已经开始使用硬编码的值,我通常会从json webservice调用中调用它们。 下面是一个硬编码路径的例子:

CLLocationCoordinate2D[] trail1 = new CLLocationCoordinate2D[]{
new CLLocationCoordinate2D(10.74812, -97.330277),
new CLLocationCoordinate2D(10.74501, -97.350277),
new CLLocationCoordinate2D(10.74912, -97.340277),
};

CLLocationCoordinate2D[] trail2 = new CLLocationCoordinate2D[]{
new CLLocationCoordinate2D(10.84812, -97.331277),
new CLLocationCoordinate2D(10.94501, -97.352277),
new CLLocationCoordinate2D(10.14912, -97.343277),
new CLLocationCoordinate2D(10.12912, -97.313277),    
};

mapview.AddAnnotation (new SampleMapAnnotation (trail1));

目前我正在使用MKAnnotation,但意识到我需要将MKAnnotationView用于自定义图像引脚。

public class SampleMapAnnotation : MKAnnotation 
{
string _title;

public SampleMapAnnotation (CLLocationCoordinate2D coordinate)
{
Coordinate = coordinate;
_title = "Sample";
}

public override CLLocationCoordinate2D Coordinate { get; set; }

public override string Title
        {
            get {
                return _title;
        }
    }
}

1 个答案:

答案 0 :(得分:2)

查看Xamarin的MapCallout sample。这是Apple的Objective-C sample的C#端口。它将向您展示如何创建基于图像的注释并在地图上显示它们。