【问题标题】:Retain map zoom level while tracking user location在跟踪用户位置时保持地图缩放级别
【发布时间】:2016-04-08 13:55:37
【问题描述】:

我遇到了一个问题,当用户点击按钮时地图会自动缩小,该按钮将开始跟踪用户的位置变化,就像您点击一次锚按钮时 Apple Map 应用所做的那样。

我在设置跟踪模式之前尝试再次设置区域,但没有成功。我确实注意到一件事。仅当用户未更改缩放级别时才会发生这种情况,即,如果用户在点击按钮之前捏住地图,则地图的缩放级别将被保留。

我试图在代码中模仿它,但到目前为止,我没有运气。

我的问题很简单:有没有办法为用户跟踪模式设置默认缩放级别?如果没有,我能否以某种方式模仿用户的捏合(可能是手势识别器操作?)来强制设置范围?

提前致谢!

注意:我在 Stackoverflow 上搜索过答案,只找到了类似 this 的答案。

【问题讨论】:

    标签: ios swift mkmapview mapkit mkusertrackingmode


    【解决方案1】:

    我正在使用用户跟踪模式,它会放大以关闭我的应用程序设计。如果我正确理解你的问题,这就是你要找的。​​p>

     @IBAction func getUserLocationPressed(_ sender: AnyObject) {
    
     if CLLocationManager.authorizationStatus() == .authorizedWhenInUse {
    
            let span = MKCoordinateSpanMake(1.0, 1.0)
    
            let location = CLLocationCoordinate2D(latitude: mapView.userLocation.coordinate.latitude, longitude: mapView.userLocation.coordinate.longitude)
    
            let coordinateRegion = MKCoordinateRegion(center: location, span: span)
    
            mapView.setRegion(coordinateRegion, animated: true)
    
        }
    
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-05-07
      • 2012-08-24
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多