2016-11-29 19 views
1

私はしばらくそこに止まり、誰かが私を助けることができるのだろうか。 MKAnnotationView.Image = some imageということは、すべてのピンをこのイメージに設定することを知っています。異なるピンに異なる画像を設定する方法。通常、forループは1つのイメージを1つのイメージに署名しますが、MKAnnotationView.Imageではどのように設定するのですか?ピンごとに異なる画像を設定する方法は? Xamarin iOS

MKAnnotationView GetViewForAnnotation (MKMapView mapView, IMKAnnotation  annotation) 
{ 
    MKAnnotationView annotationView = null; 

    if (annotation is MKUserLocation) 
    return null; 

    var anno = annotation as MKPointAnnotation; 
    var customPin = GetCustomPin (anno); 
    if (customPin == null) { 
    throw new Exception ("Custom pin not found"); 
    } 

    annotationView = mapView.DequeueReusableAnnotation (customPin.Id); 
    if (annotationView == null) { 
    annotationView = new CustomMKAnnotationView (annotation, customPin.Id); 
    annotationView.Image = UIImage.FromFile ("pin.png"); 
    annotationView.CalloutOffset = new CGPoint (0, 0); 
    annotationView.LeftCalloutAccessoryView = new UIImageView (UIImage.FromFile ("monkey.png")); 
    annotationView.RightCalloutAccessoryView = UIButton.FromType (UIButtonType.DetailDisclosure); 
    ((CustomMKAnnotationView)annotationView).Id = customPin.Id; 
    ((CustomMKAnnotationView)annotationView).Url = customPin.Url; 
    } 
    annotationView.CanShowCallout = true; 

    return annotationView; 
} 

annotationView.Image = UIImage.FromFile( "pin.png");すべてのピンをこのイメージに設定します。しかし、通常、人々はピンごとに異なる画像を求めています。どんな考えでも、私は本当にそれを感謝します。

これはこれは私がXamarinのフォーラムで見つけたものである地図のカスタマイズこのコードhttps://github.com/xamarin/xamarin-forms-samples/blob/master/CustomRenderers/Map/iOS/CustomMapRenderer.cs

公式ギルドへのリンクがhttps://developer.xamarin.com/guides/xamarin-forms/custom-renderer/map/

答えて

1

されています。

annotationView.Image = UIImage.FromFile ("pin.png"); 

画像がある場合は、annotationView.Imageに画像を署名してください。カスタマイズしたピンにイメージIDを保存することができます。だからあなたは、あなたが使用したい右のイメージを指摘するためにイメージアイデンティティを置くだけです。

ようなものannotationView.Image = UIImage.FromFile (customPin.Image)これは何ですか?

関連する問題