无法让 MapView 放大当前位置 - SWIFT

Posted

技术标签:

【中文标题】无法让 MapView 放大当前位置 - SWIFT【英文标题】:Cannot get MapView to Zoom in on current location - SWIFT 【发布时间】:2015-02-09 21:47:53 【问题描述】:

我已经尝试了一整天 - 看起来应该很简单 - 但我无法让 MapView 放大当前位置。

在模拟器中使用“Apple”作为该位置仅用于测试 - 我没有收到任何错误并且它运行 - 但视图只是停留在带有蓝点的美国全貌 - 在加利福尼亚州代表 Apple地点。提前感谢任何帮助!

代码如下:

import MapKit
import UIKit
import CoreLocation

class MapViewController: UIViewController, CLLocationManagerDelegate,    MKMapViewDelegate 

@IBOutlet weak var mapView: MKMapView!

var locationManager: CLLocationManager!


func createLocationManager () 
    locationManager = CLLocationManager()
    locationManager.delegate = self
    locationManager.desiredAccuracy = kCLLocationAccuracyBest
    locationManager.distanceFilter = kCLDistanceFilterNone




func locationManager (manager:CLLocationManager!, didUpdateLocations locations:[AnyObject]!) 
    if let firstlocation = locations.first as? CLLocation 
        mapView.setCenterCoordinate(firstlocation.coordinate, animated: true)
        let region = MKCoordinateSpanMake (1000,1000)

    




override func viewDidLoad() 
    super.viewDidLoad()

    // Do any additional setup after loading the view.

    locationManager = CLLocationManager()
    locationManager?.requestWhenInUseAuthorization()

    self.mapView.showsUserLocation = true

      

【问题讨论】:

你是在调用你的 createLocationManager() 方法吗?否则你没有设置委托。 Onato - 这听起来像是一个愚蠢的问题 - (它可能是)。我认为它会在 mapviewcontroller 执行时自动调用。 I have a tableviewcontroller - that when the row is selected it takes you to the map (and this mapviewcontroller.swift with the code above in it) that is supposed to show your current location (zoomed in of course) - how do I get the在此设置下调用的方法? 不,这里没有魔法。您正在 viewDidLoad 中重复其中的一些代码。只需将其替换为createLocationManager() 【参考方案1】:

在模拟器中尝试Debug->Location->City Bicycle Ride。这将为您提供持续更新。

还要确保您正在设置 locationManager 的委托。

【讨论】:

没有变化 - 我正在尝试,但可能需要你为我拼写出来 - 我有几个其他视图在做同样的事情 - 这阻碍了我的一些关键功能。感谢您的耐心等待

以上是关于无法让 MapView 放大当前位置 - SWIFT的主要内容,如果未能解决你的问题,请参考以下文章

如何修复 MapView 放大位置直到出现第二次视图

MapView 以用户坐标为中心缩放

如何在 android 的 MapView 中更改地图控制器的位置?

从 mapView 中检索当前用户位置,而地图不在屏幕上

如何在 Android 的 MapView 中更新当前位置的蓝点标记

打开地图屏幕时,如何将 MapView 以用户当前位置为中心?反应原生博览会