问题标签 [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.
swift - 在不使用 CLLocationManager 的情况下显示当前位置
我是 iOS 新手,我有一个关于查找当前用户位置的问题。我正在阅读 Apple 文档:
在地图上显示用户的当前位置 地图套件包括对在地图上显示用户当前位置的内置支持。要显示此位置,请将地图视图对象的 showsUserLocation 属性设置为 YES。这样做会导致地图视图使用核心位置来查找用户的位置,并将 MKUserLocation 类型的注释添加到地图中。
向地图添加 MKUserLocation 注释对象由委托以与自定义注释相同的方式报告。如果要将自定义注释视图与用户位置相关联,则应从委托对象的 mapView:viewForAnnotation: 方法返回该视图。如果要使用默认注释视图,请从该方法返回 nil。要了解有关向地图添加注释的更多信息,请参阅注释地图。
听起来很棒。但是之后...
我有一个fatal error: unexpectedly found nil while unwrapping an Optional value
. 我不明白为什么。如果我手动设置位置 - 当然没问题。但是在文档中写道,它将在地图上添加注释。没有添加注释,它会崩溃。不使用 CLLocationManager 就不能获取用户坐标吗?
ios - ios放大用户位置
嗨,我已经将我的 MapKit 设置为显示用户位置,但它加载的视图过于缩小,所以我试图将其放大到例如 20 英里的区域。我尝试使用其他一些问题的代码来做到这一点,但它们似乎都没有对以往的观点产生任何影响。顺便说一句,我也试图能够看到当前用户:纬度和经度,但在我的浮点变量中只看到 0,也许这些是链接的?
这是代码:
非常感谢您对此提供的任何帮助。我是 MapKit 的新手。
objective-c - 无法通过 Objective-C 使用 MapKit 获取当前用户位置
我在这里设置区域坐标:
我在这里设置区域缩放:
这是我的 mapView didUpdateUserLocation 方法:
}
我知道这只会放大定义的区域,但是使用与此类似的东西,有没有办法获取当前用户位置,而不是像上面那样设置预定义坐标?
我希望地图找到当前用户位置,然后在地图上放大到它,如果这有意义的话。
mkmapview - 使用高度组件在 MKMapView 中创建注释
这似乎是可能的,因为 MKUserLocation 注释放置在用户当前的高度。然而,MKAnnotation 的协议只包含一个坐标。有没有办法调整它的高度?谢谢!
ios - CLLocationManagerDelegate 方法未被调用
我正在用 Swift 编码,我想在我的应用程序中使用用户的位置。我已经添加NSLocationWhenInUseUsageDescription
并NSLocationAlwaysUsageDescription
正确Info.plist
配置了它们。我还添加了 CoreLocation.framework 并将其导入到 ViewController 中。我也在CLLocationManagerDelegate
我的类定义中使用。我已经实现了该方法didChangeAuthorizationStatus
,并且当用户选择允许将其位置提供给应用程序时,此方法有效。当发生这种情况时,我已将文本打印到控制台以确保。但是,当我在打印到控制台后立即从此方法调用该方法时didUpdateLocations
,该方法不会运行,并且没有任何新内容打印到控制台。我已确保在didUpdateLocations
方法中包含一个打印命令,以确保这一点。这是其中一种方法的代码:
如您所见,在方法中,locationManager.startUpdatingLocation()
它被调用并且应该开始这样做。这是此方法的代码:
但是,一旦我在我的应用程序中询问我时按允许,除了在第一种方法中调用的“授予权限”之外,它不会向控制台打印任何内容。我该如何解决?任何帮助是极大的赞赏!
编辑:
好吧,实际上我只是通过在模拟器手机中模拟运动来解决问题。您只需单击“调试”,将鼠标悬停在“位置”上,然后选择一种移动方式!
ios - 带标题的默认用户位置注释
我知道。我也发现了这个问题:Turing user location annotation with heading
可悲的是,我在这里尝试做的事情要简单得多(或者我认为是这样),而且对我来说有点太复杂了。我想用标题显示默认的蓝点。但是,我不希望地图自动旋转,而是只旋转蓝点,因此跟踪模式无法按我希望的方式工作。我想做的是 Transit 应用程序使用的内容。
谁能给我一个关于如何完成这个的教程?我已经花了很多时间尝试了一些东西,但仍然无法让它发挥作用。任何帮助是极大的赞赏!
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
. 但是现在当我运行代码时,它开始在中心点和新点之间摇晃。
ios - 缩小/缩小或移动到 ios 中的其他位置时停止集中用户位置
尝试使用 MKMapView 跟踪用户位置。
使用下面的代码
问题
当我想在更新位置时缩小/放大或将地图移动到其他位置时。它不起作用并移回当前用户位置。
我怎么解决这个问题 ?