我在我的应用程序中使用MKPinAnnotationView 。 我将MapView对象设置为委托,并使用此代码来定制我的AnnotationView func mapView(mapView: MKMapView, viewForAnnotation annotation: MKAnnotation) -> MKAnnotationView? { if annotation is MKUserLocation { //return nil so map view draws "blue dot" for standard user location return nil } let reuseId = "pin" var pinView = mapView.dequeueReusableAnnotationViewWithIdentifier(reuseId) as? MKPinAnnotationView if pinView == nil { pinView = MKPinAnnotationView(annotation: annotation, reuseIdentifier: reuseId) // pinView!.canShowCallout […]
我尝试在swift中为我的MKPointAnnotation创build一个自定义的“badget”,但是因为MKPointAnnotation没有任何像image var information = MKPointAnnotation() information.coordinate = location information.title = "Test Title!" information.subtitle = "Subtitle" information.image = UIImage(named: "dot.png") //this is the line whats wrong Map.addAnnotation(information) 有人想出了一个像这样的解决scheme?
我有一个显示标题和字幕的注解的地图视图。 字幕有时比注释的宽度长,所以我想知道如果我可以让他们多线? 它是这样编码的: func annotate(newCoordinate, title: String, subtitle: String) { let annotation = MKPointAnnotation() annotation.coordinate = newCoordinate annotation.title = title annotation.subtitle = subtitle self.map.addAnnotation(annotation) } 然后我有几个选项设置 func mapView(mapView: MKMapView, viewForAnnotation annotation: MKAnnotation) -> MKAnnotationView? {…} 这里没有关系。 是否可以做一个自定义的注释视图? 我已经尝试了几件事,但没有任何工作。 我能得到的最接近的是添加一个button来分别显示较长的字幕,但我宁愿在注释中。 可能吗?
我只是更新了XCode到6.3,现在我收到以下错误:MKPointAnnotation没有名为“setCoordinate”的成员。 不知道它去了哪里,或者如果我们应该使用一些其他的MK方法。 任何帮助表示赞赏。 func refreshlocation(lat:String, lon:String, withOffset:Bool = false){ // 1 Convert the string values to something that can be used. let location = CLLocationCoordinate2D( latitude: (lat as NSString).doubleValue as CLLocationDegrees, longitude: (lon as NSString).doubleValue as CLLocationDegrees ) // 2 setup some initial variables. let span = MKCoordinateSpanMake( (self.locationLatitudeDelta as NSString).doubleValue as CLLocationDegrees, (self.locationLongitudeDelta as […]
我正在使用MKPointAnnotation MKMapView(委托设置正确)。 注释是在后台线程调用的这个方法中生成的。 func updateMapAnnotations() { for var i = 0; i < DataManager.getStationList().count; i++ { var s = DataManager.getStationList()[i] as Station var annotation = MKPointAnnotation() annotation.setCoordinate(CLLocationCoordinate2D(latitude: s.latitude, longitude: s.longitude)) annotation.title = "\(s.id)" dispatch_async(dispatch_get_main_queue(), { self.mapView.addAnnotation(annotation) }) } } 注解视图在这里生成: func mapView(mapView: MKMapView!, viewForAnnotation annotation: MKAnnotation!) -> MKAnnotationView! { if (annotation is MKUserLocation) { return […]
我设法在Swift中获得了一个注释引脚的自定义图标,但是现在我仍然使用2个不同的图像来注释不同的注释。 现在一个button添加一个注释到地图。 应该有另一个button,也添加注释,但与另一个图标。 有没有办法使用这个重用ID? class ViewController: UIViewController, MKMapViewDelegate { @IBOutlet weak var Map: MKMapView! @IBAction func btpressed(sender: AnyObject) { var lat:CLLocationDegrees = 40.748708 var long:CLLocationDegrees = -73.985643 var latDelta:CLLocationDegrees = 0.01 var longDelta:CLLocationDegrees = 0.01 var span:MKCoordinateSpan = MKCoordinateSpanMake(latDelta, longDelta) var location:CLLocationCoordinate2D = CLLocationCoordinate2DMake(lat, long) var region:MKCoordinateRegion = MKCoordinateRegionMake(location, span) Map.setRegion(region, animated: true) var information […]