如何让地图视图中的应用程序用户删除多个图钉?
Posted
技术标签:
【中文标题】如何让地图视图中的应用程序用户删除多个图钉?【英文标题】:how to let users of an app in mapview drop multiple pins? 【发布时间】:2013-08-09 12:12:42 【问题描述】:如何编写一个地图视图,用户可以在其中放置多个图钉、进行注释和添加图片?
我知道如何在 Xcode 中编写地图视图以及如何放置预设引脚,但是我希望能够编写更复杂的代码,因为它与我希望创建的应用程序相关!
1:我如何让应用程序的用户放置多个引脚来指定某个位置?
2:一旦用户放下了一个图钉,我希望他能够添加注释和图片?
我对此进行了广泛的研究,虽然我已经找到了如何将基本地图编码到应用程序中,但我无法编写后续部分!
感谢您阅读我的问题,并且非常感谢您提供的任何建议。如果您认为有一个有用的 youtube 视频或博客可以帮助我,请把它放在底部,我会浏览它!
【问题讨论】:
【参考方案1】:首先制作一个实现<MKAnnotation>
协议的Annotation类:
@interface Annotation : NSObject <MKAnnotation>
CLLocationCoordinate2D location;
NSString *title;
NSString *subtitle;
NSString *otherInfo;
UIImage *image;
// etc...any other info you want to include with your annotation
然后当你想放下一个别针时:
-(void)dropPin:(CLLocationCoordinate2D *)location (NSString *)title (NSString *)subtitle (NSString *)otherInfo (UIImage *)image
Annotation *pin = [Annotation annotationWithCoordinate:location];
pin.title = title;
pin.subtitle = subtitle;
pin.otherInfo = otherInfo;
pin.image = image;
[self.mapView addAnnotation:pin];
您可能还希望将丢弃的图钉存储在一个数组或其他东西中,以便您可以跟踪它们并在以后引用它们。
查看 MapKit documentation 的MKAnnotation
协议以获取更多信息和示例。另请阅读this tutorial,它很好地概述了如何使用 MapKit 对象和协议,包括注释。
【讨论】:
谢谢!我会设置一个数组来存储丢弃的引脚吗? 在某处创建一个 NSMutableArray - 可能是地图视图控制器中的一个实例变量。然后在上面的 dropPin 方法中,直接做:[pinArray addObject:pin];
以上是关于如何让地图视图中的应用程序用户删除多个图钉?的主要内容,如果未能解决你的问题,请参考以下文章