- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我正在尝试使用 MapBox 响应用户在 iOS 应用程序中的位置变化,但未调用 didUpdateUserLocation
。为什么不调用 didUpdateUserLocation
?
ViewController.swift
import UIKit
import Mapbox
class ViewController: UIViewController, MGLMapViewDelegate {
@IBOutlet weak var upButton: UIButton!
override func viewDidLoad() {
super.viewDidLoad()
let styleURL = NSURL(string: "mapbox://styles/jmeyers919/cj8w00yxvfrqr2rpehxd47up1") // MGLStyle.darkStyleURL()
let mapView = MGLMapView(frame: view.bounds, styleURL: styleURL as URL?)
mapView.delegate = self
mapView.logoView.isHidden = true
mapView.attributionButton.isHidden = true
mapView.autoresizingMask = [.flexibleWidth, .flexibleHeight]
// Note that we have changed the center coordinate to New York City for this guide
// mapView.setCenter(CLLocationCoordinate2D(latitude: 44.0475276, longitude: -123.08927319), zoomLevel: 16, animated: false)
mapView.userTrackingMode = .follow
mapView.showsUserLocation = true
view.addSubview(mapView)
self.view.bringSubview(toFront: self.upButton)
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
func mapView(mapView: AnyObject!, didUpdateUserLocation userLocation: AnyObject!) {
print("didUpdateUserLocation")
}
}
最佳答案
当 showsUserLocation
属性设置为 YES
时,调用此方法 每本地图 View 收到新的位置更新时。这个方法也是 如果 map View 的用户跟踪模式设置为 MGLUserTrackingModeFollowWithHeading
和航向改变,或者如果它被设置 到 MGLUserTrackingModeFollowWithCourse
并且类(class)更改。
如果应用程序当前在后台运行,则不会调用此方法。如果您想在运行时接收位置更新 后台,必须使用Core Location框架。
关于swift - MapBox didUpdateUserLocation 从未被调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46800207/
我有一个带有 map 的应用程序,并且希望在更新时缩放到当前位置。 我使用 -(void)mapView:(MKMapView *)mapView didUpdateUserLocation:(MKU
我有一个 mapViewController(在导航 Controller 中)。当我第一次打开它时,在 viewDidLoad 之后,- (void)mapView:(MKMapView *)map
当从我的主视图 Controller 按下 View map 按钮时,我正在加载一个 mapviewcontroller: - (IBAction)mapButton:(id)sender {
我无法调用 MKMapView委托(delegate)方法 didUpdateUserLocation . 到目前为止我做了什么: 添加框架 MapKit.framwork在项目中 在 View Co
我正在尝试使用 MapBox 响应用户在 iOS 应用程序中的位置变化,但未调用 didUpdateUserLocation。为什么不调用 didUpdateUserLocation? ViewCon
我正在使用 Storyboard和 Google map 构建一个 iOS 应用程序。使用 iOS6 - Apple map 有一个方法 -(void)mapView:(MKMapView*)mapV
我在使用 MapKit 制作的应用程序方面需要一些帮助 我正在为 didUpdateUserLocation 苦苦挣扎:- 它总是随机地使应用程序崩溃。当我注释掉所有代码时,它可以完美运行,但这不是合
自从我更新到iOS SDK 8和8.1后,出现了很多问题,包括不再调用CLLocationManager的didUpdateLocations方法。 这里是代码: 在 viewDidLoad 中: l
我创建了一个只有一个 View 的测试应用程序,该 View 包含一个 MKMapView 和一个充当 MapView 委托(delegate)的 Controller 。 当我进行全新构建(在重新安
我从 CLLocationManager 和 MKMapView 获取用户的位置。我应该使用哪一个来设置 map 的中心坐标? 此外,模拟器中的两种方法的答案也不同。 CLLocationManage
我有一个 MKMapView,它应该使用自定义 View (不是蓝点)跟踪用户的位置。为了用这个 View 代替蓝点,我这样返回: - (MKAnnotationView *)mapView:(MKM
我正在尝试围绕用户位置 MKMapView 提供 5 个注释...我在我的 didupdateuserlocation 方法中为注释选择随机值...当我运行我的项目时,所有 5 个注释都显示在同一位置
MKMapViewDelegate mapView:didUpdateUserLocation: 方法在 5.0 模拟器上运行时不会被调用,即使在设备设置中给出了所有位置权限也是如此。 对于 4.3,
当我启动我的应用程序时,它会显示一个带有用户位置的 mapView,但 mapView 不会立即显示 UserLocation,打印一些错误,大约 3 分钟后,它会调用“didUpdateUserLo
我是一名优秀的程序员,十分优秀!