gpt4 book ai didi

ios - 如何在同一注释 View (swift3)下更改mapkit中的引脚颜色

转载 作者:可可西里 更新时间:2023-10-31 23:13:09 25 4
gpt4 key购买 nike

我在 mapkit 中有 2 个图钉,它们都在相同的注释 View 下,因为两个图钉的颜色相同。我怎样才能让别针有不同的颜色。我希望 hello 是红色的,hellox 是蓝色的。

import UIKit
import MapKit

class ViewController: UIViewController, MKMapViewDelegate {

@IBOutlet var jmap: MKMapView!

override func viewDidLoad() {
jmap.delegate = self;
let hello = MKPointAnnotation()
hello.coordinate = CLLocationCoordinate2D(latitude: 40, longitude: -73)
jmap.addAnnotation(hello)
let hellox = MKPointAnnotation()
hellox.coordinate = CLLocationCoordinate2D(latitude: 34, longitude: -72)
jmap.addAnnotation(hellox)
}

func mapView(_ mapView: MKMapView, viewFor annotation: MKAnnotation) -> MKAnnotationView? {
let annotationView = MKPinAnnotationView()
annotationView.pinTintColor = .blue
return annotationView
}}

最佳答案

子类 MKPointAnnotation 以添加您想要的任何自定义属性,例如 pinTintColor:

class MyPointAnnotation : MKPointAnnotation {
var pinTintColor: UIColor?
}

class ViewController: UIViewController, MKMapViewDelegate {
@IBOutlet var jmap: MKMapView!

override func viewDidLoad() {
super.viewDidLoad()

jmap.delegate = self

let hello = MyPointAnnotation()
hello.coordinate = CLLocationCoordinate2D(latitude: 40, longitude: -73)
hello.pinTintColor = .red

let hellox = MyPointAnnotation()
hellox.coordinate = CLLocationCoordinate2D(latitude: 34, longitude: -72)
hellox.pinTintColor = .blue

jmap.addAnnotation(hello)
jmap.addAnnotation(hellox)
}

func mapView(_ mapView: MKMapView, viewFor annotation: MKAnnotation) -> MKAnnotationView? {
var annotationView = mapView.dequeueReusableAnnotationView(withIdentifier: "myAnnotation") as? MKPinAnnotationView

if annotationView == nil {
annotationView = MKPinAnnotationView(annotation: annotation, reuseIdentifier: "myAnnotation")
} else {
annotationView?.annotation = annotation
}

if let annotation = annotation as? MyPointAnnotation {
annotationView?.pinTintColor = annotation.pinTintColor
}

return annotationView
}
}

关于ios - 如何在同一注释 View (swift3)下更改mapkit中的引脚颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41815315/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com