Tag: mkannotationview

没有调用MKMapView MKPointAnnotation点击事件

我正在使用MKPointAnnotation MKMapView(委托设置正确)。 注释是在后台线程调用的这个方法中生成的。 func updateMapAnnotations() { for var i = 0; i < DataManager.getStationList().count; i++ { var s = DataManager.getStationList()[i] as Station var annotation = MKPointAnnotation() annotation.setCoordinate(CLLocationCoordinate2D(latitude: s.latitude, longitude: s.longitude)) annotation.title = "\(s.id)" dispatch_async(dispatch_get_main_queue(), { self.mapView.addAnnotation(annotation) }) } } 注解视图在这里生成: func mapView(mapView: MKMapView!, viewForAnnotation annotation: MKAnnotation!) -> MKAnnotationView! { if (annotation is MKUserLocation) { return […]

viewForAnnotation混淆和反复定制pinColor

目标是根据存储在结构数组中的某些值自定义引脚颜色。 在这里的一些帮助我实现了下面的viewForAnnotation委托方法,这很好地调用这个委托方法迭代在基于我的结构数据数组的大小循环。 所以,如果我想把所有的引脚设置为一种颜色,例如紫色(这是下面代码中的注释行),它就可以工作。 问题是当我把一个开关设置颜色基于我的数组中的值它通过这个代码,但不尊重任何案件的价值将其设置为一个替代的颜色,一切都去红针(看似默认)。 我已经打印出状态并进行debugging,知道它正在进入开关并设置pinColor的相应,但他们似乎并不坚持。 func mapView(aMapView: MKMapView!, viewForAnnotation annotation: MKAnnotation!) -> MKAnnotationView! { let theindex = mystructindex // grab the index from a global to be used below if annotation is MKUserLocation { //return nil so map view draws "blue dot" for standard user location return nil } let reuseId = "pin" var pinView […]

检测点击MKAnnotationView中的CalloutBubble

我正在使用MKMapView和MKAnnotationView。 我在地图上有一个注释。 当用户点击它时,会显示callOut Bubble。 当再次敲击注释(并且callOut Bubble可见)时,我需要切换到另一个视图。 我如何检测第二个水龙头,或在泡沫龙头?

调整MKAnnotationView图像大小当地图放大和缩小?

我拥有的 我在地图上有大约150个MKAnnotationView。 每个MKAnnotationView都有一个替代默认引脚的图像。 现在发生了什么 当地图放大时,MKAnnotationViews变小,反之缩小。 我希望发生的事情 那么我希望它是另一种方式。 因为当地图很小的时候,我希望MKAnnotationViews会更小,所以用户可以看到他们,而当他放大的时候,我希望他们会更大。 到目前为止,我有什么代码 我知道如何获得缩放变化,我知道我可以得到“pMapView.region.span.latitudeDelta”作为缩放量的参考。 我知道我可以改变annotationView.frame。 -(void)mapView:(MKMapView *)pMapView regionDidChangeAnimated:(BOOL)animated{ NSLog(@"mapView.region.span.latitudeDelta = %f",pMapView.region.span.latitudeDelta); for (id <MKAnnotation> annotation in pMapView.annotations) { MKAnnotationView *annotationView = [pMapView viewForAnnotation: annotation]; } } 有人可以帮我吗? 谢谢shani

JSONparsing后–viewForAnnotation在MKMapView上只显示一个单一的注解

我需要在我的MkMapView上显示大约10个位置(和相应的注释),按下button之后,我需要根据不同的JSONparsing结果添加新的不同注释(例如locationIDValue <100表示​​红色针,否则为绿色)。 这是简化的代码: – (void)viewDidLoad { [super viewDidLoad]; map.showsUserLocation = true; map.mapType = MKMapTypeStandard; arrayID = [[NSMutableArray alloc] initWithObjects: @"id1", @"id2", @"id3", @"id4", @"id5", @"id6", @"id7", @"id8", @"id9", @"id10", nil]; #define MakeLocation(lat,lon) [[CLLocation alloc] initWithLatitude:lat longitude:lon] locations= @[ MakeLocation(lat1,lon1), MakeLocation(lat2,lon2), MakeLocation(lat3,lon3), MakeLocation(lat4,lon4), MakeLocation(lat5,lon5), MakeLocation(lat6,lon6), MakeLocation(lat7,lon7), MakeLocation(lat8,lon8), MakeLocation(lat9,lon9), MakeLocation(lat10,lon10) ]; for (int l=0; l<[locations count]; l++) […]

在MKMapView中从MKAnnotation改变UIImage

我有一个只有在MKAnnotation,有一个服装形象的地图视图。 当用户更改mapType时,我需要更改该注释的图像。 我这样做的方式是从地图上删除注释,并插入另一个正确的图像,我不认为是最好的方式。 大约需要1秒钟2秒才能显示新图像。 我怎样才能做到这一点,而不删除注释,并删除另一个? 谢谢, RL

MKAnnotationView和点击检测

我有一个MKMapView 。 我用一个水龙头添加了一个UITapGestureRecognizer 。 我现在想要添加一个MKAnnotationView到地图上。 我可以点击注解和mapView:mapView didSelectAnnotationView:view fires(这是我将添加额外的逻辑来显示UIView)。 现在的问题是,当我点击注释, MKMapView轻拍手势也触发。 我可以设置它,所以如果我点击注释,它只响应?

MapKit iOS 9 detailCalloutAccessoryView用法

看完WWDCvideo206之后,我认为这将是一个简单的任务,将细节标注视图添加到mapView注释视图。 所以,我假设我做错了什么。 随着我的引脚视图设置 func mapView(mapView: MKMapView, viewForAnnotation annotation: MKAnnotation) -> MKAnnotationView? { let view:MKAnnotationView! if let dequed = routeMapView.dequeueReusableAnnotationViewWithIdentifier("pin") { view = dequed } else { view = MKPinAnnotationView(annotation: annotation, reuseIdentifier: "pin") } let x = UIView(frame: CGRectMake(0, 0, 200, 200)) x.backgroundColor = UIColor.redColor() // shows the red //view.leftCalloutAccessoryView = x // working as no […]

animation去除注释

我有一张地图和一组注释,每个都有一个“父”属性。 目前,当我添加注释时,我实现了didAddAnnotationViews方法来对这些注释进行animation处理,以使它们看起来像来自其父坐标。 删除注释过程中是否有这样做的方法? 当我从地图中移除一个注解时,我想让它animation到它的父坐标中,并且据我所知,当注释被移除时,没有与addAddAnnotationViews等价的东西。

iOS中的annotationView中的自定义图钉图像

我试图从Swift 1.2更改为Swift 2.0,而且我正在进行更改。 目前我正在MapViewController中进行更改,并没有任何错误或警告,但我的引脚(annotationView)自定义图像没有分配到引脚,它显示默认的(红点)。 这里是我的代码,我希望你能帮助我一些提示,因为我觉得一切都很好,但它仍然不工作: func parseJsonData(data: NSData) -> [Farmacia] { let farmacias = [Farmacia]() do { let jsonResult = try NSJSONSerialization.JSONObjectWithData(data, options: NSJSONReadingOptions.MutableContainers) as? NSDictionary // Parse JSON data let jsonProductos = jsonResult?["farmacias"] as! [AnyObject] for jsonProducto in jsonProductos { let farmacia = Farmacia() farmacia.id = jsonProducto["id"] as! String farmacia.nombre = jsonProducto["nombre"] as! String […]