【问题标题】:Manually show current location blue dot MKMapView ios手动显示当前位置蓝点MKMapView ios
【发布时间】:2013-11-13 13:46:48
【问题描述】:

我正在构建一个 iPhone 应用程序。有一个始终显示地图(MKMapView)的屏幕。但为了节省电量,我不希望用户位置一直更新,只能自动(每 15 分钟)和手动(onclick)更新。

但是,我还想在地图上显示此用户位置。 问题是,如果我为我的 MapView showsUserLocation,它会自动开始更新位置,因此会耗尽电池电量。

我尝试激活showsUserLocation 选项,保存MKUserLocation,然后停用showsUserLocation,然后手动添加保存的MKUserLocation 作为注释,但它实际上显示警告并重新激活showsUserLocation 选项!

所以我猜最后一种方法是手工:

我自己构建了一个蓝点注释,但它没有发光效果和精确圆圈。你知道怎么做吗?或者如果有其他方法,请分享。

谢谢!

【问题讨论】:

  • 我认为如果您有一个在其他地方用于当前位置的脉动蓝点,但将其简化为每 15 分钟才准确一次,您会混淆用户。此外,如果您想降低电池使用量,您可以将位置管理器的desiredAccuracy 设置为仅在位置发生重大变化时向您发送通知。
  • @Craig 也许,我想这取决于应用程序?我可以每 5 分钟更新一次,事实是用showsUserLocationYES 保存地图确实会耗尽电池电量。设置desiredAccuracy 怎么能改变这个?要查看重大变化,是否必须打开 GPS,从而耗尽电池?谢谢
  • 我不太确定 Apple 是如何实现它的,但他们确实表示要求降低精度确实可以节省电池寿命。也许他们会等着看手机是否会改变手机信号塔,然后打开 GPS 以获取实际位置。您可以在用户的​​位置上放置其他东西,但蓝色的脉冲球是 Apple 和大多数应用程序实时跟踪用户位置的意思。如果您将其用于过时的位置,您将改变脉冲的含义。

标签: ios iphone location mkmapview mapkit


【解决方案1】:

好吧,你将不得不使用你的“最后一条路”——MKAnnotationViews 可以很容易地被动画化——只要像对待任何 UIView 一样对待它 :)

请参阅MKMapView current location showing as custom pins 了解如何自定义 Pin 图

【讨论】:

    【解决方案2】:

    只需像这样使用本机标志来启用它:

    [mapView setShowsUserLocation:YES]
    

    【讨论】:

      【解决方案3】:

      如果您需要有关用户位置注释的帮助,请查看在 MapBox 中是如何完成的:

      http://mapbox.com/mapbox-ios-sdk

      你特别想要RMUserLocation。整个 SDK 是开源的。

      【讨论】:

        猜你喜欢
        • 2012-09-16
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-08-29
        • 1970-01-01
        • 1970-01-01
        • 2011-08-30
        相关资源
        最近更新 更多