ios - 无法让 iOS MapKit Annotation 显示标题和副标题

标签 ios swift annotations mapkit

我在 xCode 中显示 map 注释时遇到问题。我能够在正确的坐标上显示一个图钉,但是我似乎无法弄清楚如何显示带有标题和副标题的注释。

我是 xCode 和 Swift 的新手,如果我使用了不正确的术语(或者如果这是一个非常简单的问题要解决!),我很抱歉我已经在网上搜索了大约 2 个小时,尝试对我的代码进行不同的变体,但我无法让它工作!

我正在开发一个简单的应用程序,用户可以在其中浏览位置,然后将其固定在 map 上。一旦人们从一个位置点击到 MapViewController,我试图只显示一个固定位置的 map 和一个带有标题和副标题的注释。除了标题和副标题外,我已经弄清楚了所有内容,因此我将不胜感激!

override func viewDidLoad() {
    super.viewDidLoad()

    // Location pin
    let initialLocation = CLLocation(latitude: location.latitude, longitude: location.longitude)
    self.centerMapOnLocation(location: initialLocation)


    // Annotation
    let annotation = MKPointAnnotation()
    annotation.title = self.location.name
    annotation.subtitle = self.location.type
    annotation.coordinate = CLLocationCoordinate2D(latitude: location.latitude, longitude: location.longitude)
    mapView.addAnnotation(location)

}

// Map Center on Location
func centerMapOnLocation(location: CLLocation) {
    let regionRadius: CLLocationDistance = 1000
    let coordinateRegion = MKCoordinateRegionMakeWithDistance(location.coordinate,
    regionRadius * 2.0, regionRadius * 2.0)
    mapView.setRegion(coordinateRegion, animated: true)
}

override func didReceiveMemoryWarning() {
    super.didReceiveMemoryWarning()
}

最佳答案

我想知道您是否应该添加annotation而不是 location进入mapView,即:

mapView.addAnnotation(annotation)

如果你想以编程方式显示标注,你可以这样调用:
mapView.selectAnnotation(annotation, animated: true)

关于ios - 无法让 iOS MapKit Annotation 显示标题和副标题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43302094/

相关文章:

ios - 如何通过货币代码设置 iOS NSNumberFormatter 语言环境?

ios - for in 循环循环两次 Swift

php - @group 注释可以在 phpunit 的类级别上使用吗

php - 使用纯 Swift、PHP 代码将视频上传到服务器

ios - 使用基本身份验证发出 http 请求

ios - 如何在 swift 5 中的谷歌地图右上角添加固定 subview

swift - UITableView 动画时的分隔线

java - 这个创建新对象的 REST 方法到底是如何工作的?

ios - 更改出列的注释 View 的图像会导致先前使用的图像短暂出现

ios - 分配的对象不能在单独线程的循环中释放