MapKit 地图 - 注释未显示在模拟器上

Posted

技术标签:

【中文标题】MapKit 地图 - 注释未显示在模拟器上【英文标题】:MapKit Map - annotation Not show on Simulator 【发布时间】:2016-09-28 08:48:19 【问题描述】:

我试图在加载时在地图视图中显示标记,但地图在地图视图中显示了我的国家地图,而不是注释。我做错了什么吗?仅供参考,我的模拟器位置设置为 Apple。

import MapKit
import UIKit

class Capital: NSObject, MKAnnotation 
    var title: String?
    var coordinate: CLLocationCoordinate2D
    var info: String

    init(title: String, coordinate: CLLocationCoordinate2D, info: String) 
        self.title = title
        self.coordinate = coordinate
        self.info = info
    






import MapKit
import UIKit

class ViewController: UIViewController, MKMapViewDelegate 
    @IBOutlet weak var mapView: MKMapView!

    override func viewDidLoad() 
        super.viewDidLoad()

        let london = Capital(title: "London", coordinate: CLLocationCoordinate2D(latitude: 51.507222, longitude: -0.1275), info: "Home to the 2012 Summer Olympics.")
        let oslo = Capital(title: "Oslo", coordinate: CLLocationCoordinate2D(latitude: 59.95, longitude: 10.75), info: "Founded over a thousand years ago.")
        let paris = Capital(title: "Paris", coordinate: CLLocationCoordinate2D(latitude: 48.8567, longitude: 2.3508), info: "Often called the City of Light.")
        let rome = Capital(title: "Rome", coordinate: CLLocationCoordinate2D(latitude: 41.9, longitude: 12.5), info: "Has a whole country inside it.")
        let washington = Capital(title: "Washington DC", coordinate: CLLocationCoordinate2D(latitude: 38.895111, longitude: -77.036667), info: "Named after George himself.")

         mapView.addAnnotations([london, oslo, paris, rome, washington])
    

【问题讨论】:

我已经添加了包含我尝试过的代码的图像。 在没有代码 sn-p 之前,我们无法调试您的错误。没有人会从你的图像中编写代码。 请看一下,如果我没有很好地发布我的问题,请忽略,这是我第一次在这里发布问题。 【参考方案1】:

试试这个

import UIKit
import MapKit



 class MapViewController: UIViewController 
        @IBOutlet var mapView: MKMapView!

        let location:CLLocationCoordinate2D = CLLocationCoordinate2D(latitude: 20.5937, longitude: 78.9629)


        override func viewDidLoad() 
            super.viewDidLoad()



            let anotation = MKPointAnnotation()
            anotation.coordinate = location
            anotation.title = "The Location"
            anotation.subtitle = "This is the location !!!"
            mapView.addAnnotation(anotation)

        

【讨论】:

你的代码就像魅力一样。我有一种情况,例如我将 ping 一个 Web 服务,该服务为我提供各个位置的注释详细信息,然后我必须创建这些注释并将它们显示在地图中,因此我使用了一种方法,该方法具有符合 mkannotation 的单独类(如您可以在我的查询中看到)然后我尝试一次添加所有这些,但这并没有按我的预期工作。我无法使用您的方法,因为我不会在地图中仅添加一个点注释。如果您有任何想法,请告诉我,非常感谢。 Read This对你有帮助 我也无法注释我所在国家/地区以外的点,我已尝试仅添加我所在国家/地区以外的一个点,但模拟器仅显示我的国家/地区地图而没有注释。任何解决方案为了它? 不可能 > 如果它存在于地球上,它将显示所有注释。您需要使用 您可以使用 Option (Alt) 按钮或 Option 按钮和命令按钮的组合以及鼠标移动来放大和缩小地图或图像。 并再次检查. 我有点不好意思这么说,我提到的查询中的代码工作正常,当我在模拟器中运行它时,它只是显示我的国家地图,但我没有看到注释我已经添加了。刚才我已经意识到我太笨了,无法将模拟器中的地图放大到我添加了大头针的位置,并且它们安全可靠地存在在那里。无论如何,感谢您的帮助人@IDeveloper。除非你这么说,否则我无法在模拟器中放大地图。:)

以上是关于MapKit 地图 - 注释未显示在模拟器上的主要内容,如果未能解决你的问题,请参考以下文章

Swift mapkit未指向位置

mapView 中的用户位置未显示在多个模拟器设备(MapKit)上

如何使用 MapKit (SwiftUI) 将工具提示添加到地图注释以在地图上显示位置名称

MapKit - 找到路线但未显示

Mapkit 显示注释区域

使用 selectannotation 时 iOS Mapkit 崩溃