【问题标题】:Trying to fill a screen with Apple Map尝试用 Apple Map 填满屏幕
【发布时间】:2016-04-12 17:58:05
【问题描述】:

所以在我的应用程序上,我有一个屏幕,我想在其中显示地图。这里要注意的是地图需要随着用户旋转屏幕而自动旋转。类似于在任何地图上按下指南针按钮。

我已经编写了创建地图并显示它并使用指南针旋转的第一部分。

  override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view, typically from a nib.
        locationManager.desiredAccuracy = kCLLocationAccuracyBest
        locationManager.delegate = self
        locationManager.requestWhenInUseAuthorization()
        locationManager.startUpdatingHeading()

    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }


    func locationManager(manager: CLLocationManager, didUpdateHeading newHeading: CLHeading) {
        let rotation: Double = newHeading.magneticHeading * 3.14159 / 180
        //let point: CGPoint = CGPointMake(0, -23)
        print(rotation)

        mapView.transform = CGAffineTransformMakeRotation(-CGFloat(rotation))

    }

这里有 4 个屏幕截图,展示了我在 4 个不同角度旋转时屏幕的外观。

问题是它的显示方式。

问题 1: 当我旋转时,会有白色的空白区域,那是因为我的地图无法缩放。到屏幕尺寸。我该如何解决这个问题?

问题 2: 旋转非常胡思乱想。有没有办法让它更流畅?

【问题讨论】:

    标签: ios swift rotation mkmapview


    【解决方案1】:

    你这样做很困难。您可以使用MKMapViewuserTrackingMode 属性。

    如果您将此属性设置为MKUserTrackingModeFollowWithHeading,那么地图视图将为您完成工作。您甚至不需要实现位置管理器委托方法。

    【讨论】:

    • 是的工作。谢谢!!一旦堆栈溢出允许,我会尽快接受这个答案
    猜你喜欢
    • 2012-11-02
    • 2015-09-20
    • 1970-01-01
    • 1970-01-01
    • 2014-08-12
    • 2021-09-04
    • 2011-02-10
    • 2020-07-20
    • 2018-01-07
    相关资源
    最近更新 更多