【问题标题】:How to select a map pin programmatically如何以编程方式选择地图图钉
【发布时间】:2013-03-23 09:22:35
【问题描述】:

我是地图概念的新手。

请查找附件图片一次。

当我单击“图钉”时,我收到消息说“欣赏你的微笑”或任何文字.....现在我想要......当我们选择表格视图时,我需要为此提出该消息pin(没有用户对该 pin 的交互)...

我正在使用下面的代码来制作这张地图和别针。

    -(void) viewWillAppear:(BOOL)animated
{
[super viewWillAppear:YES];
customLocation.latitude=[casesobjc.latitude_string doubleValue];
        customLocation.longitude=[casesobjc.longitude_string doubleValue];
 MapViewAnnotation *newAnnotation = [[MapViewAnnotation alloc] initWithTitle:casesobjc.locationForMap_string andCoordinate:customLocation];
[mapView addAnnotation:newAnnotation];
}
- (MKAnnotationView *) mapView: (MKMapView *) mapView viewForAnnotation: (id<MKAnnotation>) annotation {
 MKPinAnnotationView *pin = (MKPinAnnotationView *) [mapView dequeueReusableAnnotationViewWithIdentifier: @"annotation_ID"];
if (pin == nil) {
        pin = [[MKPinAnnotationView alloc] initWithAnnotation: annotation reuseIdentifier: @"annotation_ID"];
    } else {
        pin.annotation = annotation;
    }
    pin.pinColor = MKPinAnnotationColorPurple;
    pin.animatesDrop = YES;
    pin.canShowCallout=YES;
return pin;
}

现在我将像下面一样显示所有图钉。

怎么做 当我们点击表格视图时,我需要显示该图钉的标题,就像我们选择图钉时的显示方式一样?

提前致谢

【问题讨论】:

  • 你有没有提到带有自定义图像/自定义地图图钉标注视图的注释点击视图?
  • 我不明白?...我使用了此代码但不起作用..即 customLocation.latitude=appdelegate.appDelegateLatitude; customLocation.longitude=appdelegate.appDelegateLongitude; MapViewAnnotation *newAnnotation = [[MapViewAnnotation alloc] initWithTitle:casesobjc.locationForMap_string andCoordinate:customLocation]; [mapView selectAnnotation:newAnnotation Animation:YES]; @Spynet
  • 选中行时只传标题名,设置注解的标题
  • 我设置了标题.. 我需要调用哪个方法。我为所有图钉设置标题,例如 MapViewAnnotation *newAnnotation = [[MapViewAnnotation alloc] initWithTitle:casesobjc.locationForMap_string andCoordinate:customLocation]; @sugan.s
  • caseobjec.location 是什么以及你在 tableviewDidSelectedRowAtIndexPath @Babul 中得到了什么

标签: iphone ios objective-c map mkmapview


【解决方案1】:

您正在寻找的方法是 selectAnnotation:

在您的didSelectRowAtIndexPath 中,您必须找到与表格行关联的注释。

一旦你找到它,你可以告诉它,通过使用来选择它:

[mapView selectAnnotation:foundAnnotation animated:YES];

【讨论】:

  • 我想我也有类似的问题。你能帮忙看看我的question吗?我只是想不通,尤其是如何找到与表格行关联的注释。
【解决方案2】:

与 Objective C 的答案相同,在您的表格视图中,您有一个注释列表。在 Swift 中didSelectRow

对于 Swift 4:

// annotations would be the array of annotations - change to your required data sets name
let selectedAnnotation = annotations[indexPath.row]
self.mapView.selectAnnotation(selectedAnnotation, animated: true)

简短而简单。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-04-11
    • 2019-03-12
    • 1970-01-01
    • 2011-06-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多