在 Swift 中的 Apple Maps 上添加标记标签 [关闭]

Posted

技术标签:

【中文标题】在 Swift 中的 Apple Maps 上添加标记标签 [关闭]【英文标题】:Add marker label on Apple Maps in Swift [closed] 【发布时间】:2017-05-02 16:43:06 【问题描述】:

基于此,可以在 ios 版 Google 地图上添加标记标签/徽章 - Add text on custom marker on google map for ios

有谁知道如何为 Apple Maps 做到这一点?我需要这样的东西:

【问题讨论】:

你的意思是MKAnnotationViews?文档链接:developer.apple.com/reference/mapkit/mkannotationview 或者只是在互联网上搜索教程。 您无法在 Apple 地图上执行此操作,但您当然可以在您自己的应用程序中的地图视图上执行此操作。 【参考方案1】:

您可以尝试将UILabel 放在图像上:

func mapView(_ mapView: MKMapView,
               viewFor annotation: MKAnnotation) -> MKAnnotationView? 

    // Leave default annotation for user location
    if annotation is MKUserLocation 
      return nil
    

    let reuseID = "Location"
    var annotationView = mapView.dequeueReusableAnnotationView(withIdentifier: reuseID)
    if annotationView == nil 
      let pin = MKAnnotationView(annotation: annotation,
                                 reuseIdentifier: reuseID)
          pin.image = UIImage(named: "cabifyPin")
          pin.isEnabled = true
          pin.canShowCallout = true

      let label = UILabel(frame: CGRect(x: 0, y: 0, width: 30, height: 30))
          label.textColor = .white
          label.text = annotation.id // set text here
          pin.addSubview(label)

      annotationView = pin
     else 
      annotationView?.annotation = annotation
    

    return annotationView
  

【讨论】:

我想标记动画,同时连续点击标记,直到点击任意位置

以上是关于在 Swift 中的 Apple Maps 上添加标记标签 [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

Swift:未安装 Google Maps 时,应用程序需要打开 Apple Maps

如何在 swift 中为 ios 的 google maps sdk 中的地图视图添加标记

网址上的 Apple Maps 注释

删除 Apple Maps 默认注释

Google Maps Swift 中的脉动标记动画

如何将自定义的 InfoWindow 添加到 google-maps swift ui 中的标记?