objective-c - 在 MKMapView 中顺畅地跟踪用户的位置

标签 objective-c cocoa-touch mkmapview

我想以与 Google map 相同的方式关注用户的蓝点。这意味着当位置发生变化时, map (或其中心)应该平滑地跟随它。但是当我对委托(delegate)使用标准方式时:

- (void)mapView:(MKMapView *)mapView didUpdateUserLocation:(MKUserLocation *)userLocation
{
    [map setCenterCoordinate:map.userLocation.coordinate animated:YES];
}

mapview.userLocation 上的键值观察器,然后 map 的移动非常“断断续续”,即使我使用 animated 参数,它也会快速“跳转”到新位置。

此外,我认为蓝点本身的移动并不像在原生 Google map 应用中那样流畅,并且经常跳到新位置而不是移动到那里。

感谢您的帮助。

最佳答案

'嗨 jack

我也尝试解决这个问题,但看起来 MKMapView 可能在更新之间使用了一些花哨的东西来预测下一个位置并使移动更流畅。

如果您观察他们处理指南针的方式,他们会进行大量过滤,因为原始指南针数据不是非常稳定,所以他们使它非常光滑和流畅。

另外,请注意在跟踪时您可以缩放但不能平移。即使关闭滚动功能,我也未能在我的应用程序中复制此功能,如果您在缩放时平移手指,它仍然会滚动。

我猜他们不会为了抢在我们前面而暴露一切 :)

关于objective-c - 在 MKMapView 中顺畅地跟踪用户的位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5030895/

相关文章:

具有周 View 的 iPhone 日历?

objective-c - NSProgressIndicator 在循环结束之前不会更新

objective-c - 显示设备上的可用物理内存(iphone/ipad)

objective-c - 我可以像java c#那样在objective-c中实现真正的单例吗?

ios - 设置 MapView 的中心坐标不考虑 MapView 的完整大小(屏幕外部分)

objective-c - 模拟 Skitch 的文字效果

ios - 检查特定用户名是否存在于 KeyChain 如果不存在则使用密码 ios objective-c 存储新用户

iphone - 我应该如何为 iPhone 实现可编辑的丰富文档 View ?

ios - map 中心和屏幕中心不同

ios - 将 map 中的注释添加到 NSMutableArray