- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
有没有简单的方法隐藏它?我使用用户位置,但我不想显示蓝点。我怎样才能隐藏它?
-- 编辑--
我是不是用错了什么?
@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/
- (void)viewDidLoad { [super viewDidLoad]; CLLocationCoordinate2D currentLocation; curre
我是 Stackoverflow 的新手,如果我的研究不够好,我深表歉意,但我找不到问题的答案。 我正在构建一个基于跟踪的应用程序(目前为 iOS)。我将使用 GPS 测量设备测量未定义区域,并计划将
我正在为我的应用程序使用 CLLocationManager 实例和 MKMapView。我有一个按钮,点击它会触发我的位置管理器的 startUpdatingLocation,它允许我通过 didU
我使用的是适用于 iOS 的 2013 版 Google Maps SDK。我想用另一个图标或周围的脉冲圆圈自定义当前位置的默认蓝点。 我知道我们可以用 MKMapView 中的 mapView:vi
我正在添加自定义注释而不是引脚注释。基本上,我在这些注释中画了一个圆圈,并将它们添加到 map 中。这些自定义注释的问题掩盖了用户位置 View (蓝点)我如何将蓝点带到前面。 - (void)map
我是一名优秀的程序员,十分优秀!