【问题标题】:Get location updates in GMSMapView without showing myLocation blue dot annotation在 GMSMapView 中获取位置更新而不显示 myLocation 蓝点注释
【发布时间】:2013-08-13 05:24:52
【问题描述】:

我需要使用 GMSMapView 在我的视图控制器中获取位置更新。 为此,我为 myLocation 添加了观察者:

   [_googleMapView addObserver:self forKeyPath:@"myLocation" options:NSKeyValueObservingOptionNew context:NULL];

我也必须这样做:

   _googleMapView.myLocationEnabled = YES;

然后只有我得到更新,但启用 myLocation 还会在我不想要的当前位置显示蓝色注释。如何在视图控制器中使用 GMSMapView(不是 Apple 的 CLLocationManager)来获取位置更新而不显示 myLocation 蓝点注释。请帮忙。

【问题讨论】:

    标签: iphone ios location gmsmapview


    【解决方案1】:

    根据Google Maps iOS documentation

    myLocationEnabled: 控制是否启用“我的位置”圆点和精度圈。 myLocation:如果启用了“我的位置”,则会显示绘制用户位置点的位置。

    所以,设置:

    _googleMapView.myLocationEnabled = NO;
    
    • (CLLocation*) myLocation [读取,分配]:如果启用了我的位置,则显示绘制用户位置点的位置。如果它被禁用, 或者它已启用但没有可用的位置数据,这将为 nil。 使用 KVO 可以观察到此属性。

    应该允许您在不出现蓝点的情况下访问该位置。

    【讨论】:

    • 那么您是说将 myLocationEnabled 设置为 YES 或 NO 仅显示/隐藏注释,并且在这两种情况下我都会获得位置更新?
    • 嗯,我对此很感兴趣。我会亲自尝试并回复您。
    • 我遇到了同样的问题。我最好的猜测是 myLocation 显示了 mapview 将要绘制点的位置。因此,当点被禁用时,API 认为没有理由更新 myLocation。
    • 是的。关于 myLocation 的文档说:“如果启用了我的位置,则会显示绘制用户位置点的位置。如果它被禁用,或者它已启用但没有可用的位置数据,这将是 nil。”
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-17
    • 2017-05-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-25
    相关资源
    最近更新 更多