问题标签 [mkuserlocation]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1047 浏览

swift - 在不使用 CLLocationManager 的情况下显示当前位置

我是 iOS 新手,我有一个关于查找当前用户位置的问题。我正在阅读 Apple 文档:

在地图上显示用户的当前位置 地图套件包括对在地图上显示用户当前位置的内置支持。要显示此位置,请将地图视图对象的 showsUserLocation 属性设置为 YES。这样做会导致地图视图使用核心位置来查找用户的位置,并将 MKUserLocation 类型的注释添加到地图中。

向地图添加 MKUserLocation 注释对象由委托以与自定义注释相同的方式报告。如果要将自定义注释视图与用户位置相关联,则应从委托对象的 mapView:viewForAnnotation: 方法返回该视图。如果要使用默认注释视图,请从该方法返回 nil。要了解有关向地图添加注释的更多信息,请参阅注释地图。

听起来很棒。但是之后...

我有一个fatal error: unexpectedly found nil while unwrapping an Optional value. 我不明白为什么。如果我手动设置位置 - 当然没问题。但是在文档中写道,它将在地图上添加注释。没有添加注释,它会崩溃。不使用 CLLocationManager 就不能获取用户坐标吗?

0 投票
1 回答
268 浏览

ios - ios放大用户位置

嗨,我已经将我的 MapKit 设置为显示用户位置,但它加载的视图过于缩小,所以我试图将其放大到例如 20 英里的区域。我尝试使用其他一些问题的代码来做到这一点,但它们似乎都没有对以往的观点产生任何影响。顺便说一句,我也试图能够看到当前用户:纬度和经度,但在我的浮点变量中只看到 0,也许这些是链接的?

这是代码:

非常感谢您对此提供的任何帮助。我是 MapKit 的新手。

0 投票
2 回答
1093 浏览

objective-c - 无法通过 Objective-C 使用 MapKit 获取当前用户位置

我在这里设置区域坐标:

我在这里设置区域缩放:

这是我的 mapView didUpdateUserLocation 方法:

}

我知道这只会放大定义的区域,但是使用与此类似的东西,有没有办法获取当前用户位置,而不是像上面那样设置预定义坐标?

我希望地图找到当前用户位置,然后在地图上放大到它,如果这有意义的话。

0 投票
1 回答
135 浏览

mkmapview - 使用高度组件在 MKMapView 中创建注释

这似乎是可能的,因为 MKUserLocation 注释放置在用户当前的高度。然而,MKAnnotation 的协议只包含一个坐标。有没有办法调整它的高度?谢谢!

0 投票
0 回答
744 浏览

ios - CLLocationManagerDelegate 方法未被调用

我正在用 Swift 编码,我想在我的应用程序中使用用户的位置。我已经添加NSLocationWhenInUseUsageDescriptionNSLocationAlwaysUsageDescription正确Info.plist配置了它们。我还添加了 CoreLocation.framework 并将其导入到 ViewController 中。我也在CLLocationManagerDelegate我的类定义中使用。我已经实现了该方法didChangeAuthorizationStatus,并且当用户选择允许将其位置提供给应用程序时,此方法有效。当发生这种情况时,我已将文本打印到控制台以确保。但是,当我在打印到控制台后立即从此方法调用该方法时didUpdateLocations,该方法不会运行,并且没有任何新内容打印到控制台。我已确保在didUpdateLocations方法中包含一个打印命令,以确保这一点。这是其中一种方法的代码:

如您所见,在方法中,locationManager.startUpdatingLocation()它被调用并且应该开始这样做。这是此方法的代码:

但是,一旦我在我的应用程序中询问我时按允许,除了在第一种方法中调用的“授予权限”之外,它不会向控制台打印任何内容。我该如何解决?任何帮助是极大的赞赏!

编辑:

好吧,实际上我只是通过在模拟器手机中模拟运动来解决问题。您只需单击“调试”,将鼠标悬停在“位置”上,然后选择一种移动方式!

0 投票
1 回答
194 浏览

ios - 带标题的默认用户位置注释

我知道。我也发现了这个问题:Turing user location annotation with heading

可悲的是,我在这里尝试做的事情要简单得多(或者我认为是这样),而且对我来说有点太复杂了。我想用标题显示默认的蓝点。但是,我不希望地图自动旋转,而是只旋转蓝点,因此跟踪模式无法按我希望的方式工作。我想做的是 Transit 应用程序使用的内容。

谁能给我一个关于如何完成这个的教程?我已经花了很多时间尝试了一些东西,但仍然无法让它发挥作用。任何帮助是极大的赞赏!

0 投票
1 回答
81 浏览

ios - viewForAnnotation 没有移动 userLocation

我已经实现- (MKAnnotationView *)mapView:(MKMapView *)mapView viewForAnnotation:(id<MKAnnotation>)annotation {了更改 userLocation 注释的默认位置的方法。在这个方法中,我使用过:

这成功地将默认的 userLocation 注释移动到中心底部。但由于我也在使用标题,所以当移动我的手机时,它仍然从中心旋转地图。

但是 userLocation 注释在下面。那么该怎么做呢?

更新

我发现了这个问题并尝试应用它。但是当我使用标题时,它会使应用程序崩溃。在我的didUpdateUserLocation方法中我添加了[self moveCenterByOffset:CGPointMake(0, 200) from:userLocation.coordinate];这个方法如下:

然后在我的didUpdateUserLocation方法中我将其更新为:MKCoordinateRegion region = MKCoordinateRegionMakeWithDistance([self moveCenterByOffset:CGPointMake(0, -250) from:userLocation.coordinate], 800.0f, 200.0f);并且[mapView setRegion:region animated:NO];由于我正在使用标题,所以动画设置为NO. 但是现在当我运行代码时,它开始在中心点和新点之间摇晃。

0 投票
4 回答
9818 浏览

ios - MKUserLocation 点的 iOS 10 标题箭头

iOS 10 中的地图应用程序现在在MKUserLocation MKAnnotationView. 有什么方法可以将它添加到MKMapView我自己的应用程序中吗?

在此处输入图像描述

编辑:我很乐意手动执行此操作,但我不确定是否可能?我可以在地图上添加注释并让它跟随用户的位置,包括动画移动吗?

0 投票
1 回答
53 浏览

ios - 缩小/缩小或移动到 ios 中的其他位置时停止集中用户位置

尝试使用 MKMapView 跟踪用户位置。

使用下面的代码

问题

当我想在更新位置时缩小/放大或将地图移动到其他位置时。它不起作用并移回当前用户位置。

我怎么解决这个问题 ?

0 投票
1 回答
1248 浏览

swift - 如何设置 Mapkit 用户跟踪按钮状态

我在右上角创建了一个带有用户跟踪按钮的地图。我想知道如何在加载时默认将状态设置为“followWithHeadlights”,以便它像在 GPS 上一样跟随用户当前位置?

加载时的当前行为: 按钮当前行为

加载时所需的行为: 按钮所需的行为

代码片段:

ViewDidLoad 包括:

谢谢!