用户可以搜索任何位置,但如何在不同的View Controller中将该位置保存在应用程序中。换句话说,有一个带有位置标题的引脚,我希望用户点击该标题的引脚并进入下一个视图控制器的位置将显示标题。我怎么能用Swift 2做到这一点?
到目前为止,这是获取引脚的代码。还有一个代码来搜索此处未包含的地址。我想要的是能够点击该引脚的标题并转到另一个视图控制器,你可以看到地图和那个引脚的一部分,并能够在这个视图控制器中做更多的事情。
capitalize!
答案 0 :(得分:3)
欢迎来到SO。这是CS 101类型的问题。或者也许是iOS 101。
一个位置以CLLocation对象开头。它将作为符合MKAnnotation
协议的对象保存到地图中。
关键位是一个位置,CLLocationCoordinate2D
,它只是一个结构。
当你向地图添加一个图钉时,你应该有纬度/经度,因为你需要调用地图视图的addAnnotation
方法来添加注释图钉,传入一个符合MKAnnotation
协议(表示它具有coordinate
属性。)
让这个工作的哪个部分你不明白?如何回应地图图钉上的点击?如何在生成的标注视图中添加按钮?如何使用点击标注视图上的按钮来从故事板中实例化一个新的视图控制器并显示它?如何将引脚的坐标传递给另一个视图控制器?
当用户只需点击一个引脚时,我建议不要触发另一个视图控制器。用户的期望是显示标注视图。但是,如果您确定这是您想要做的,那么您将实现地图视图委托方法mapView:didSelectAnnotationView:
最好使用附件视图创建自定义标注视图,在附件视图中放置一个按钮,并在用户点击附件视图中的按钮时触发视图控制器。
请不要让我给你代码说明如何做到这一点。我给了你足够的东西让你开始阅读并弄明白。 (无论如何,我的代码都在Objective-C中,所以你可能很难理解它。)
我建议您在MapKit(MKMapView
)标注附件视图上查找教程。