gpt4 book ai didi

ios - 如何隐藏 MKMapView 上的蓝点和圆圈

转载 作者:可可西里 更新时间:2023-11-01 05:03:29 29 4
gpt4 key购买 nike

有没有简单的方法隐藏它?我使用用户位置,但我不想显示蓝点。我怎样才能隐藏它?

-- 编辑--

我是不是用错了什么?

@interface ALMapaViewController : UIViewController <MKMapViewDelegate,
MKAnnotation>
{
IBOutlet MKMapView *mapaPrincipal;
id<ALMapaViewControllerDelegate> delegateMap;
CLLocationCoordinate2D coordinate;
}

我的.m

@implementation ALMapaViewController

- (void)viewDidLoad{

[super viewDidLoad];
[mapaPrincipal setMapType:MKMapTypeStandard];
[mapaPrincipal setZoomEnabled:YES];
[mapaPrincipal setScrollEnabled:YES];

[mapaPrincipal.userLocation addObserver:self
forKeyPath:@"location"
options:(NSKeyValueObservingOptionNew|NSKeyValueObservingOptionOld)
context:nil];
[mapaPrincipal setShowsUserLocation:YES];
}


-(void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context {
MKCoordinateRegion region;
region.center = mapaPrincipal.userLocation.coordinate;
MKCoordinateSpan span;
span.latitudeDelta = 0.005f;
span.longitudeDelta = 0.005f;
region.span = span;
[mapaPrincipal setRegion:region animated:YES];
self.coordinate = region.center;
[mapaPrincipal addAnnotation:self];
[mapaPrincipal setShowsUserLocation:NO];
}
@end

我已经使用了 showUserLocation,它仍然显示蓝点。

最佳答案

您想接收用户位置更新但不显示蓝点。

一种选择是使用 CLLocationManager 代替 map View 的 showsUserLocation 来获取更新。在位置管理器上调用 startUpdatingLocation 并实现其 locationManager:didUpdateToLocation:fromLocation: 委托(delegate)方法。

如果您不想使用 CLLocationManager,另一种选择是隐藏由 map View 创建的用户位置 View ,方法是将它的 hidden 属性设置为 YES 在 map View 的 didAddAnnotationViews 委托(delegate)方法中。 map View 将继续接收用户位置更新(因为您showsUserLocation设置为NO)但蓝点不会显示,因为你隐藏了它的 View 。

此答案中显示了第二个选项的示例:
Hide MKUserLocation when MKMapView showsUserLocation == YES


一个不相关的点是您不需要使用键值观察来监视对 map View 的 userLocation 属性的更改。请改用 mapView:didUpdateUserLocation: 委托(delegate)方法。

关于ios - 如何隐藏 MKMapView 上的蓝点和圆圈,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10407121/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com