2016-09-30 7 views
2

を表示しない小さな問題があります。 「taxi.png」のURLは画像ビューで動作し、現在の問題ではありません。MKAnnotationViewはここで画像

私も試してみました:

pinView?.image = UIImage(named: "taxi.png") 

コード:

if pinView == nil{ 
     pinView = MKPinAnnotationView(annotation: annotation, reuseIdentifier: reuseId) 
     pinView?.canShowCallout = true 
     var imageTaxi = UIImage(named: "taxi.png")! 
     imageTaxi = imageTaxi.withAlignmentRectInsets(UIEdgeInsetsMake(0, 0, imageTaxi.size.height/2, 0)) 
     pinView?.image = imageTaxi 
     } 

     let button = UIButton(type: .detailDisclosure) 
     pinView?.rightCalloutAccessoryView = button 
     return pinView 

誰もが画像を表示するには、こちらを固定しなければならないものを見ていますか?

EDIT:

let annotation = CustomPin() 
annotation.coordinate = location 
annotation.title = "Boek Taxi" 
annotation.subtitle = "" 
let image = UIImage(named: "taxi.png") 

annotation.Image = image 
self.mapView.addAnnotation(annotation) 
let reuseId = "pin" 
    var pinView = mapView.dequeueReusableAnnotationView(withIdentifier: reuseId) 

    if pinView == nil{ 
     pinView = MKPinAnnotationView(annotation: CustomPin() as MKAnnotation, reuseIdentifier: reuseId) 
     pinView?.canShowCallout = true 

    } else { 
     pinView?.annotation = CustomPin() as MKAnnotation 
    } 

    let cpa = annotation as! CustomPin 

    pinView?.image = cpa.Image 

    let button = UIButton(type: .detailDisclosure) 
    pinView?.rightCalloutAccessoryView = button 
    return pinView 
    } 

..私は見かけたすべてのものを私は今、これを持っていると私はまだ標準の赤いピンポイントを持っていますか?この

func mapView(mapView: MKMapView, viewForAnnotation annotation: MKAnnotation) -> MKAnnotationView? { 
     let reuseId = "image" 

     var pinView = mapView.dequeueReusableAnnotationViewWithIdentifier(reuseId) 
     if pinView == nil { 

      pinView = MKAnnotationView(annotation: customPin as MKAnnotation, reuseIdentifier: reuseId) 
      pinView!.canShowCallout = true 

     } else { 

      pinView!.annotation = customPin as MKAnnotation 
     } 

     let cpa = annotation as! CustomPin 
     pinView!.image = cpa.Image 

     let button = UIButton(type: UIButtonType.detailDisclosure) 

     pinView!.rightCalloutAccessoryView = button 


     return anView 


     } 

最後にときにカスタムイメージを追加する注釈ビューのためのあなたの機能で次に

class CustomPin: MKPointAnnotation { 

    let Image = UIImage 

} 

ん:

+0

に役立ちますがこれを見ている[カスタムピン画像](http://stackoverflow.com/a/38159048/4080925) – MwcsMac

+0

は、このコードは、すべての(設定ブレークポイントで呼ばなっていることを確認してくださいおよび/またはログステートメントを印刷する)。おそらくデリゲートが指定されていないか、メソッドのシグネチャが正しくない可能性があります。そうでない場合は、明確にしてください。「問題」があると言うとき、正確に何を見ていますか?赤いピン?何もない?クラッシュ? – Rob

答えて

-1

この

カスタム注釈のため 例をクラスを作成してみviewDidLoad()に注釈自体を作成するか、このようにしたいものを作成します。

       let Annotation = customPin() 
           Annotation.coordinate = //cooridnate 
           Annotation.title = //title 
           Annotation.subtitle = //subtitle 

           let image = UIImage(named: "taxi.png") 
           Annotation.Image = image 

希望これは

+0

@Robは私のアプリでうまく動作します。彼は何を求めているのですか –

+0

あなたの答えは@TripPhillipsですが、これを好きなときにはまだ赤い標準点があります。私がアップロードしたコードを見てください質問ポスト。私は本当に感謝します – royvano

+0

@royvano MKAnnotationPinViewの代わりにMKA​​nnotationViewを使う必要があります。それがあなたの問題です。したがって、pinViewを定義する場所はMKAnnotationViewです。 MKAnnotationPinViewを使用する場合は、毎回ピンを取得します。 –

関連する問題