如何使用swift为多个注释设置数组
应该如何设置下面的数组。 我试图在我的地图上添加多个注释。 我能够在stackoverflow上找到下面的代码,但是他们没有展示如何设置数组。
var objects = [ //how should the array be setup here ] for objecters in objects!{ if let latit = objecters["Coordinates"]["Latitude"]{ self.latitudepoint = latit as! String self.map.reloadInputViews() } else { continue } if let longi = objecters["Coordinates"]["Longitude"]{ self.longitudepoint = longi as! String self.map.reloadInputViews() } else { continue } var annotation = MKPointAnnotation() var coord = CLLocationCoordinate2D(latitude: Double(self.latitudepoint)!,longitude: Double(self.longitudepoint)!) mapView.addAnnotation(annotation) }
你可以做,例如:
let locations = [ ["title": "New York, NY", "latitude": 40.713054, "longitude": -74.007228], ["title": "Los Angeles, CA", "latitude": 34.052238, "longitude": -118.243344], ["title": "Chicago, IL", "latitude": 41.883229, "longitude": -87.632398] ] for location in locations { let annotation = MKPointAnnotation() annotation.title = location["title"] as? String annotation.coordinate = CLLocationCoordinate2D(latitude: location["latitude"] as! Double, longitude: location["longitude"] as! Double) mapView.addAnnotation(annotation) }
或者,或者,使用自定义类型,例如:
struct Location { let title: String let latitude: Double let longitude: Double } let locations = [ Location(title: "New York, NY", latitude: 40.713054, longitude: -74.007228), Location(title: "Los Angeles, CA", latitude: 34.052238, longitude: -118.243344), Location(title: "Chicago, IL", latitude: 41.883229, longitude: -87.632398) ] for location in locations { let annotation = MKPointAnnotation() annotation.title = location.title annotation.coordinate = CLLocationCoordinate2D(latitude: location.latitude, longitude: location.longitude) mapView.addAnnotation(annotation) }
或者您可以使用map
替换for
循环:
let annotations = locations.map { location -> MKAnnotation in let annotation = MKPointAnnotation() annotation.title = location.title annotation.coordinate = CLLocationCoordinate2D(latitude: location.latitude, longitude: location.longitude) return annotation } mapView.addAnnotations(annotations)
- Bootstrap Modal在iOS设备上不起作用
- 在iOS中使用Core Graphics绘制VU表
- 使用UITableView和NSOrderedSet核心数据sorting
- Apple Developer app portal可以更长时间生成新的Bundle Seed ID
- 自定义容器视图
- 如何在UITableView – IOS中实现Expandable – 可折叠的UITableViewCell
- 在Cordova / Ionic iOS应用程序中使用WWW-Authenticate处理HTTP 401
- NSManagedObjectContext应该在哪里创建?
- 如何将数据从UIViewController发送到Swift ios中的UITabBarControllers第一个选项卡