繁体   English   中英

图钉未显示在 mapView 中。 斯威夫特 5

pins not showing up in mapView. Swift 5

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

我需要在地图上显示图钉(注释)。 然后从引脚到引脚绘制多边形线(注释到注释)

我收到一组双打,我将其转换为 CLLocationCoordiante2D。 第一个 lat 和 long 值始终为 0.0,因此我将它们从数组中删除,因为我不希望那里有任何问题。

我将双打映射到坐标,并将它们添加到 mapView

我还包含了一个 viewFor 函数,我认为我真的不需要?

地图不会缩放到任何位置,也没有显示大头针。 我知道我需要对其进行编码,我需要所有引脚周围的一般半径。 在引脚实际出现后,我会继续努力。

另外,我不在乎名字,我只想显示图钉。

我试过设置单个坐标,但仍然没有引脚。

mapView 委托在 viewDidLoad() 中正确设置

我在调试器中记录位置,它们显示正确。

func createAnnotations() {
    latitude.remove(at: 0)
    longitude.remove(at: 0)

   let coordinates = zip(latitude, longitude).map(CLLocationCoordinate2D.init)

    AppLogger.logInfo("\(coordinates)")

   let annotations = zip(coordinates, names)
       .map { (coordinate, name) -> MKPointAnnotation in
           let annotation = MKPointAnnotation()

           annotation.coordinate = coordinate
           annotation.title = name

           return annotation
       }

   mapView.addAnnotations(annotations)
   mapView.showAnnotations(annotations, animated: true)
}


func mapView(_ mapView: MKMapView, viewFor annotation: MKAnnotation) -> MKAnnotationView? {
    guard annotation is MKPointAnnotation else { return nil }

    let identifier = "Annotation"
    var annotationView = mapView.dequeueReusableAnnotationView(withIdentifier: identifier)

    if annotationView == nil {
        annotationView = MKPinAnnotationView(annotation: annotation, reuseIdentifier: identifier)
        annotationView!.canShowCallout = true
    } else {
        annotationView!.annotation = annotation
    }
    return annotationView
}

[__C.CLLocationCoordinate2D(纬度:41.89454659591164,经度:-87.67463844121563),__C.CLLocationCoordinate2D(纬度:41.89424383424124,经度:-87.67463844121563)]23746384412124

预期的结果是当显示 mapView 时,我们会看到引脚(注释),以及将它们从第一个引脚连接到最后一个引脚的多边形线。 我可以稍后处理的绘制多边形。

1 个回复

如果您为注释注册注释视图,则不需要viewFor是正确的,例如

mapView.register(MKPinAnnotationView.self, forAnnotationViewWithReuseIdentifier: MKMapViewDefaultAnnotationViewReuseIdentifier))

但让我们暂时搁置一下。 让我们关注未显示的注释。 有两种可能:

  1. 确保您实际上是在添加坐标。

    您正在打印coordinates 尝试打印annotations 即,让我们确保名称不为空,因此注释为空。 如果使用空数组zip / map非空数组,则最终结果将为空。 (它被缩短为最小数组长度。)

  2. 确保你的viewFor被调用了。

    假设您已经解决了第一个问题,请尝试在viewFor添加断点或日志语句并确保它被调用。 例如,确保您设置了地图视图的委托等。

2 MapView没有显示位置和图钉?

我在mapview上工作,但没有显示我想要的用户位置以及Pins,我不知道代码是否正确,我认为是,所以我需要您的帮助。 以下是用于缩放显示位置的代码: 这是用于显示MKPinAnnotationView的代码,这是我认为是错误的代码: 因此,感谢您的帮助! 谢谢! ...

3 MapView中的图钉

我读了这篇文章: 在Android上的“我的应用”中将“默认Google地图”上的图钉插入? 并做同样的事情。 但是,在我致电之后,地图上没有钉子掉落:startActivity(new Intent(Intent.ACTION_VIEW,uri)); 地图以该uri位置为中心,但没有 ...

4 MapView显示图钉位置,然后消失

我以前从未使用过Map-view,并且正在关注本教程 最后,我的模拟器在预期的位置显示了预期的方式,但随后立即变为蓝屏。 蓝屏仍在Google地图中(它在底部显示Google徽标),但不再是我要显示的内容。 这是我的一些代码: ...

6 iPhone中的MapView注释/图钉

在我的viewDidLoad:方法中,我已经像这样设置了MapView,这样,如果用户选择了所有位置,则它应该显示所有位置/固定视图,如果只有一个,则应该仅显示一个固定视图。 在我的PickerView didSelectRow method:我实现了: 在这里,我想知道的是,如 ...

7 按下按钮时在mapView上显示注释图钉

试图找出是否有可能在按下按钮时进入mapView中的某个经度和纬度并放下按钮。 我将代码复制到以前可以使用的“ newAnnotation”图钉上,但是现在意识到它可能无法在按钮的代码内运行。 这是我的按钮代码: 我知道按钮在起作用,它实际上进入了mapView并正在处理坐标,但是它 ...

8 MapView 一开始不显示所有图钉

地图视图起初不会显示所有图钉。 所以,我必须放大/缩小才能看到所有这些。 如果我想看到所有引脚相互重叠,我该怎么办? 我记得这个问题在以前的 Swift 版本中不存在,比如 7 或 8。 谢谢! ...

2019-11-17 22:24:08 1 17   swift
9 图钉未显示在Chrome Google Maps Api V3中

由于某些原因,我的密码未在Chrome浏览器中显示。 他们使用野生动物园,歌剧,Firefox等,但不使用Chrome。 我在Google api库中收到未定义的typeerror,因此无法执行任何操作。 这是我添加我的谷歌地图的代码: 这是我的将商店(大头针)添加到地图的 ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2022 STACKOOM.COM