- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试将我自己的属性添加到 MKAnnotation,但我这样做时出现错误。我想要完成的是除了 title
和 subtitle
之外添加例如 height
和 rate
。
class MapPin: NSObject, MKAnnotation {
var coordinate: CLLocationCoordinate2D
var title: String
var subtitle: String
var imageName: String
init(coordinate: CLLocationCoordinate2D, title: String, subtitle: String, imageName: String) {
self.coordinate = coordinate
self.title = title
self.subtitle = subtitle
self.imageName = imageName
}
}
这就是我定义标记的方式:
var request = NSURLRequest(URL: url!)
var data = NSURLConnection.sendSynchronousRequest(request, returningResponse: nil, error: nil)
if data != nil {
var dataArray = JSON(data: data!)
for (key, data) in dataArray {
var title = data["name"]
var subtitle = data["description"]
var lat = data["lat"]
var lng = data["lng"]
var marker = CustomPointAnnotation()
marker.coordinate = CLLocationCoordinate2D(latitude: lat.doubleValue, longitude: lng.doubleValue)
marker.title = title.string
marker.subtitle = subtitle.string
marker.imageName = "marker.png"
marker.image = "Test";
mapView.addAnnotation(marker)
}
}
这是我尝试检索数据的地方:
func mapView(mapView: MKMapView!, annotationView view: MKAnnotationView!, calloutAccessoryControlTapped control: UIControl!) {
println("Called")
performSegueWithIdentifier("mapToCity", sender: self)
var pinData = view.annotation as! MapPin //EXC_BAD_ACCESS Error
var title = pinData.title
var subtitle = pinData.subtitle
var lat = pinData.coordinate.latitude
var lng = pinData.coordinate.longitude
var image = pinData.imageName
NSUserDefaults.standardUserDefaults().setObject(title, forKey: "title")
NSUserDefaults.standardUserDefaults().setObject(subtitle, forKey: "subtitle")
NSUserDefaults.standardUserDefaults().setObject(lat, forKey: "lat")
NSUserDefaults.standardUserDefaults().setObject(lng, forKey: "lng")
}
当我尝试执行var pinData
行时,我收到错误Thread 1: EXC_BAD_ACCESS (code =1, address=0x4)
。这可能是什么原因以及如何解决?
最佳答案
首先,您需要检查您获得的注释类型:
func mapView(mapView: MKMapView!, annotationView view: MKAnnotationView!, calloutAccessoryControlTapped control: UIControl!) {
println("Called")
// Below condition is for custom annotation
let MapPin= view.annotation as? MapPin
println("Subtitle \(MapPin.subtitle)")
performSegueWithIdentifier("mapToCity", sender: self)
var title = MapPin.title
var subtitle = MapPin.subtitle
var lat = MapPin.coordinate.latitude
var lng = MapPin.coordinate.longitude
var image = MapPin.imageName
NSUserDefaults.standardUserDefaults().setObject(title, forKey: "title")
NSUserDefaults.standardUserDefaults().setObject(subtitle, forKey: "subtitle")
NSUserDefaults.standardUserDefaults().setObject(lat, forKey: "lat")
NSUserDefaults.standardUserDefaults().setObject(lng, forKey: "lng")
}else{
return nil
}
}
关于swift - 向 MKAnnotation 添加属性会出现 EXC_BAD_EXCESS 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31873709/
我在 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)。 我希望
我是一名优秀的程序员,十分优秀!