我正在做一个通过 map 在线送餐的项目。所以用户应该知道厨师的位置。当用户点击注释时,它应该查看厨师的食物菜单。所以当用户点击我需要调用厨师 ID。我可以根据标签值调用厨师ID。
**Juntos.swift**
func mapView(_ mapView: MKMapView, viewFor annotation: MKAnnotation) ->
MKAnnotationView?
{
var annotationView =
mapView.dequeueReusableAnnotationView(withIdentifier: "identifier")
if annotationView == nil
{
annotationView = MKAnnotationView(annotation: annotation,
reuseIdentifier: "identifier")
annotationView!.canShowCallout = true
}
else
{
annotationView?.annotation = annotation
}
guard !(annotation is MKUserLocation) else
{
return nil
}
if iamA == "COOK"
{
annotationView!.image = UIImage(named: "foodie")
}
else
{
annotationView!.image = UIImage(named: "cook")
}
return annotationView
}
func mapView(_ mapView: MKMapView, didSelect view: MKAnnotationView)
{
// how can i get annotation tag here
}
最佳答案
像这样在这里设置标签 -
annotationView.tag = 1
return annotationView
得到这样的标签——
func mapView(_ mapView: MKMapView, didSelect view: MKAnnotationView)
{
// get annotation tag here
let tag = view.tag
}