Tag: mkannotationview

iOS 8 MKAnnotationView rightCalloutAccessoryView未alignment

一般来说,我对iOS的东西还很新,在testing我们的应用程序以获得iOS 8兼容性时发现问题。 在iOS 7中,一切工作正常,但在iOS 8上,在某些情况下,RightCalloutAccessoryView错位。 第一个屏幕截图:正确alignment 第二个屏幕截图:错误alignment 正如你所看到的,当InfoWindow拥有一个长标题时,问题就会发生。 但iOS 7并非如此,我找不到任何提及这一点的内容? 我试图理解为什么,并find一种方法来解决这个问题,但还找不到任何东西。 这是可以自行解决的,还是我们必须为苹果提出问题? 任何帮助/想法将高度赞赏,因为我在某种程度上被这个问题挑战。 添加MKAnnotationView的代码 – (MKAnnotationView *)viewForStation:(id<MKAnnotation>)annotation { static NSString *stationIdentifier = @"stao"; MKAnnotationView *annotationView = [self.mapView dequeueReusableAnnotationViewWithIdentifier:stationIdentifier]; if (annotationView == nil) { annotationView = [[MKAnnotationView alloc] initWithAnnotation:annotation reuseIdentifier:stationIdentifier]; annotationView.image = [UIImage bundleImageNamed:PIN_IMAGE]; annotationView.canShowCallout = YES; annotationView.rightCalloutAccessoryView = [UIButton buttonWithType:UIButtonTypeDetailDisclosure]; } return annotationView; } 正如你可能感兴趣的,我(刚才)也把这个问题添加到apple.developer.com上的iOS […]

MKAnnotation图像偏移与自定义图钉图像

我有一个自定义图钉的MKAnnotation。 但是,引脚(MKAnnotationView)将图像与指定坐标相关联。 我想要设置图像底部中心的坐标点,而不是中心。 我试过使用annView.centerOffset = CGPointMake(-12, -28); 。 但问题是, centerOffset与地图缩放级别无关。 在JS API和Android中都可以做到这一点。 有没有可能在objective-c中做到这一点? ..fredrik

在MKMapView中围绕用户位置绘制一个半径为1000m的圆

(使用iOS 5和Xcode 4.2) 我有一个MKMapView,并希望在用户位置周围绘制一个半径为1000米的圆。 表面上看来,实现mapView:viewForAnnotation: map view委托方法,并添加一个自定义的MKAnnotationView为用户的位置,将是一个完美的解决scheme。 它看起来像这样: – (MKAnnotationView *)mapView:(MKMapView *)mapView viewForAnnotation:(id <MKAnnotation>)annotation { // If it's the user location, return my custom MKAnnotationView. if ([annotation isKindOfClass:[MKUserLocation class]]) { return myCustomAnnotationView; } else { return nil; } } 但是,当您放大和缩小地图时,地图上的注释不会缩放。 所以我尝试添加覆盖图(因为覆盖图与地图缩放),使用MKCircle类并将其坐标设置为我的locationManger / map视图委托的最新坐标。 然而,由于MKCircle的坐标属性是只读的,我不得不删除覆盖,然后每次用户移动时添加一个新的。 发生明显的闪烁。 在缩放地图视图时,是否有任何方法可以无缝地进行注释比例缩放? 还是有一个很好的方式来使覆盖移动与用户位置的变化无缝的? 我会很感激你的帮助:)

自定义MKAnnotationView标注

我想创build一个自定义的MKAnnotationView标注,如图所示。 我已经testing了几个解决scheme,但他们只允许定制左/右图像和标题/副标题。 任何人都可以给我一些源代码或教程链接吗? 目前我无能为力。 请帮忙。

如何创build自定义MKAnnotationView和自定义注释标题和副标题

我需要在MKMapView上创build上面的Annotation视图。 我能够创build自定义注释视图,但在注释点击视图需要用大文本打开图像,我无法创build一个。 请给我提供一些链接或完成此任务的方法。

MKAnnotationView – locking自定义注释视图以固定位置更新

更新#5我想这是赏金时间。 100多个意见,没有人采取刺,即使我已经张贴的代码示例。 一些声望点呢? 更新#4这是一个非常复杂的问题,所以我创build了一个新的基于标签的项目,其中包括我在这里遇到的麻烦的应用程序的部分。 你可以从http://www.servinitup.net/CustomCalloutAnnotation.zip下载它。随意打开它(需要添加你自己的包标识符在你的手机上运行它),并玩弄它,看看你是否可以得到那个恶意的标注注释与引脚移动! 更新#3尝试使setAnnotation的教程的CalloutMapAnnotationView的公共方法,并直接调用。 没有任何运气。 尽pipe发生了一些奇怪的事情,唯一感动的是标注的小三angular部分。 我无法让整个标注移动。 更新#2仍然没有太多的运气,但现在一直在寻找方式编程创build一个“捏缩放”,然后立即撤消,所以用户从来没有看到一个变化。 希望这样做以编程方式将有同样的效果做手动,标注注释将弹回到它的父。 有任何想法吗? 更新#1在这里玩了以后,我得到了: – 取代self.calloutAnnotation.coordinate = coords; with self.calloutAnnotation.latitude = coords.latitude;self.calloutAnnotation.longitude = coords.longitude; – 改变了这一点,如果我稍微捏住地图以在引脚更新后放大或缩小,则标注注释会在引脚正上方移动到正确的位置。 所以现在我需要弄清楚如何在没有用户实际缩放的情况下发生这种情况。 原始post 我和其他SO用户一起,正在使用这个出色的解决scheme来创build一个自定义标注注释: http : //blog.asolutions.com/2010/09/building-custom-map-annotation-callouts-part-1/ 当您使用标准标注(annotationview.canShowCallout = true)并且标签在位置更新时围绕屏幕移动时,标准标注将与标签一起跟踪,就好像它们被locking在一起。 当使用上面的自定义标注解决scheme时,当位置更新后我的引脚移动时,标注注释将保留在原始位置。 当然,我想模仿iOS标准,并且将自定义标注注释与引脚一起跟踪。 这里是我到目前为止的代码,这是成功地移动注释视图,但不是自定义标注注释视图: / *核心位置广播通知,我的视图控制器侦听该通知,并调用locationManagerDidFindLocation * / – (void)locationManagerDidFindLocation:(NSNotification *)notif { CLLocation * location = [notif.userInfo objectForKey:@“location”]; CLLocationCoordinate2D coords = [位置坐标]; […]

如何自定义MKAnnotationView的标注泡泡?

我目前正在使用mapkit,并卡住了。 我有一个自定义的注释视图,我正在使用,我想使用图像属性来显示地图上的点与我自己的图标。 我有这个工作正常。 但是我也想要做的是重写默认的标注视图(当标注图标被触摸时,标题/副标题显示的气泡)。 我希望能够自己控制标注:mapkit只提供对左侧和右侧辅助标注视图的访问,但没有办法为标注泡泡提供自定义视图,或者为其提供零大小或其他任何内容。 我的想法是重写我的MKMapViewDelegate selectAnnotation / deselectAnnotation,然后通过调用我的自定义注释视图来绘制自己的自定义视图。 这工作,但只有当我的自定义注释视图类中canShowCallout设置为YES 。 这些方法不会被调用,如果我把这个设置为NO (这是我想要的,所以默认的标注泡泡没有绘制)。 所以我无法知道用户是否触摸到了我在地图上的点(选中它),或者触摸了一个不是我的注释视图的一部分的点(取而代之),而没有显示默认的标注泡泡视图。 我试着走了一条不同的路,只是在地图上自己处理所有的触摸事件,我似乎无法得到这个工作。 我在地图视图中阅读了与捕捉触摸事件相关的其他post,但它们并不完全是我想要的。 有没有办法在绘图前挖掘地图视图以去除标注泡泡? 我不知所措 有什么build议么? 我错过了什么明显的?