2017-09-05 18 views
0

私はXcodeでアプリを作成しています。私はmapView上に別のピンを持っていますが、ピンの1つを変更して、現在の位置(レーダーが見える)のアイコンを別の色で表示するようにします。これどうやってするの?ここでSwift 3の現在の位置アイコンを表示する方法は?

は、私が現在持っているコードは次のようになります。これに代えて

func mapView(_ mapView: MKMapView, viewFor annotation: MKAnnotation) -> MKAnnotationView? {  
    if annotation is MKUserLocation { 
     let pin = mapView.view(for: annotation) as? MKPinAnnotationView ?? MKPinAnnotationView(annotation: annotation, reuseIdentifier: nil) 
     pin.pinTintColor = #colorLiteral(red: 0.8823529412, green: 0.1647058824, blue: 0.1333333333, alpha: 1) 
     return pin 
    } else { 
     let annotationView = MKPinAnnotationView(annotation: annotation, reuseIdentifier: "pin") 
     annotationView.pinTintColor = #colorLiteral(red: 0.007843137255, green: 0.3803921569, blue: 0.8156862745, alpha: 1)   
     return annotationView 
    } 
} 
+0

何間違っている?エラーが発生しますか?予想される動作だけでなく、実際の動作を説明してください。 –

答えて

0

if annotation is MKUserLocation { 
    let pin = mapView.view(for: annotation) as? MKPinAnnotationView ?? MKPinAnnotationView(annotation: annotation, reuseIdentifier: nil) 
    pin.pinTintColor = #colorLiteral(red: 0.8823529412, green: 0.1647058824, blue: 0.1333333333, alpha: 1) 
    return pin 
    // ... 

だけnilMapKitを返し、自動的にユーザーの場所のアイコンが表示されます:

if annotation is MKUserLocation { 
    return nil 
} else { 
    // ... 
関連する問題