- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我有一个具有 map View 的应用程序,它在 map 上显示了 20 个图钉(来自数组)。当用户点击它时,它会显示一个带有右侧附件按钮的气泡。我的问题来了:我怎么知道按下了哪个引脚?我听说了一些关于 mapView:didSelectAnnotationView 方法的事情,但我不太明白你如何获得 pin/callout 索引,以便我可以在我的数组的相同索引处获取对象的信息?感谢您的帮助!
最佳答案
当该方法被调用时——因为您的 viewController 类采用了 MKMapViewDelegate
,您可以调用-indexOfObject
在数组上并获取该引脚的索引(注释)。这是假设您的数组包含注释类的对象。
- (void)mapView:(MKMapView *)mapView didSelectAnnotationView:(MKAnnotationView *)view {
// Annotation is your custom class that holds information about the annotation
if ([view.annotation isKindOfClass:[Annotation class]]) {
Annotation *annot = view.annotation;
NSInteger index = [self.arrayOfAnnotations indexOfObject:annot];
}
}
如果您需要更多解释,我们需要知道您是如何添加这些引脚的,即 - (MKAnnotationView *)mapView:(MKMapView *)mapView viewForAnnotation:(id <MKAnnotation>)annotation
的实现方式.
关于ios - 如何保存选中的MKAnnotation?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9848292/
我在 MKAnnotation 上有一个标注。标注上的附件应该在点击时更改 MKAnnotationView 的图像。有没有办法改变这个,而无需重新创建 MKAnnotation?我问的原因是我想更改
我正在使用 MKMapview 在我的原生 iPhone 应用程序中显示 map ,并向 map View 添加两个标记。单击注释标记时,我希望显示一个电话号码,然后单击电话号码应该调用该号码。 我怎
我正在开发一个 tvOS 应用程序,我希望能够在注释之间滑动。我将注释存储在字典中,并将字典存储在数组中以备将来使用。我只是为加拿大、美国和墨西哥绘制了三个注释。我希望能够在这些注释之间滑动 Remo
为了在 Swift 中向 mapview 添加注释,我有这段有效的代码,例如: 让 myLocation = CLLocationCoordinate2D(55.55, -77.77) let ann
我可以创建一个 MKAnnotation,还是只读的?我有坐标,但我发现使用 setCooperative 手动创建 MKAnnotation 并不容易。 想法? 最佳答案 MKAnnotation
我有一个 MKMapView 查询服务器并在中心更改时显示一组 MKAnnotations 但我遇到重复 MKAnnotations 的问题,因为我阅读并添加了它们。 我正在考虑用 for 查看每个注
我有一个对象列表,每个对象都有标题、名称、描述、纬度、经度和地址。 是否可以将此对象显示为 MKAnnotations?我已经坚持了几个小时了。当我尝试使对象具有 CLLocationCoordina
class Point: NSObject, MKAnnotation { var id: String? var title: String? var coordinate: CLLocationC
在我的应用程序出现问题后,我为 MKMapView 编写了一个测试应用程序。我的问题是我无法在 map 上放置多个图钉。在 viewDidLoad: 方法中使用此代码,应在指定坐标的对角线上显示 10
到目前为止,我已经在一些应用程序中看到了这一点,当用户缩小时,注释会彼此靠得更近,如果它们靠得太近,则会被替换为例如“+5”别针或其他东西。 该怎么做?我认为应该在 regionDidChangeAn
MKAnnotation 有问题。有一个自定义的 pinview 并且在第一次加载时工作正常。去删除引脚,然后重新加载相同的引脚,它们会改变颜色。我从两个不同的数据库中添加引脚并且工作正常。移除并分别
我知道之前有一个关于这个的问题。但是,我觉得有点菜鸟,因为我无法解决它。 尝试此操作时出现错误: MKAnnotation *annotation = [[MKAnnotation alloc] in
我正在尝试将 MKAnnotations 保存到我正在学习的类(class)中的项目的核心数据中。 我查看了 github 上其他学生的代码,他们都采用相同的方法创建自定义 NSManagedObje
我在 map 上显示了几个图钉,就像这样: for (int i = 0; i )annotation { static NSString *identifier = @"CarPin"; if ([
我在我的 map 中使用自定义图标作为注释。大约有 200 个引脚。 在模拟器中,我的 map 看起来像这张图片。 但是,在我的设备中,有一些红点注释靠近我的用户位置。就像下图所示。 我猜这是速度引起
我已经阅读了很多关于 MKAnnotation 的内容以及您需要如何在您的子类中实现 setCoordinate 以及 draggable=TRUE 的顺序使整个 shebang 可拖动。 我的情况是
在我的应用程序中,我正在显示一个 TableView ,其中包含从数据库中搜索用户的结果。现在在该 TableView 中有一个按钮,通过单击该用户可以在 map 中查看所有搜索到的用户的位置。当用户
亲切的问候, 我正在使用下面的代码在 iOS 上显示注释 mkmapview在 map 上点击时。 MKPointAnnotation *aAnnotationPoint = [[MKPointAnn
我有一个 MKMapView,它有一个图钉,按下时会显示注释的标题和副标题。 代码中是否有一种方法可以自动显示此文本,以便用户无需单击它? 如果我有很多图钉,它们是否也能同时出现? 最佳答案 您需要使
我有一个 map View Controller (UIViewController、MKMapView)及其委托(delegate)(HCIResultMapViewController)。 我希望
我是一名优秀的程序员,十分优秀!