NAMapKit icon indicating copy to clipboard operation
NAMapKit copied to clipboard

Add a demo with a custom pin annotation

Open dblock opened this issue 8 years ago • 3 comments

From https://github.com/neilang/NAMapKit/issues/52, add a demo project that uses a completely custom pin annotation image.

dblock avatar Mar 04 '16 13:03 dblock

@dblock are you going to develop this customization as new feature.have you started to work on this

thanks

saravananNV avatar Mar 07 '16 07:03 saravananNV

No, I have not started to work on this. Customization is already a feature, https://github.com/neilang/NAMapKit/blob/master/README.md#custom-annotations. You're not getting much help here because you're asking for fairly basic things, and I totally understand that you're just starting programming in Objective-C, but people contributing to this project don't really have time to teach you the basics. I suggest finding a friend or colleague who's a bit more experienced and pairing with them on this.

dblock avatar Mar 07 '16 12:03 dblock

i have override the naannotation class as below

class CustomClassView: NAAnnotation {

/*
// MARK: - Navigation

// In a storyboard-based application, you will often want to do a little preparation before navigation
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
    // Get the new view controller using segue.destinationViewController.
    // Pass the selected object to the new view controller.
}
*/

override func createViewOnMapView(mapView: NAMapView) -> UIView {
    var view: UIButton = UIButton()
    view.setBackgroundImage(UIImage(named: "pin_green"), forState: .Normal)
    return view
}

}

and my main function as

class View1: UIViewController{

var bgImage: UIImageView?
var mapView : NAPinAnnotationMapView = NAPinAnnotationMapView()
var melbourne : NAPinAnnotation = NAPinAnnotation()
var melbourne_view : NAPinAnnotationView = NAPinAnnotationView()
var call_outView : NAPinAnnotationCallOutView = NAPinAnnotationCallOutView()
var annotation : CustomClassView = CustomClassView()
var dot: NADotAnnotation = NADotAnnotation()
@IBOutlet var floorMapImage: UIImageView!
/*
// MARK: - Navigation

// In a storyboard-based application, you will often want to do a little preparation before navigation
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
    // Get the new view controller using segue.destinationViewController.
    // Pass the selected object to the new view controller.
}
*/

override func viewDidLoad() {
   mapView = NAPinAnnotationMapView(frame: self.view.bounds)
   // mapView = NAPinAnnotationMapView(frame: CGRectMake(0 , 0, 600,200))
    mapView.backgroundColor = UIColor.whiteColor()
    mapView.autoresizingMask = [.FlexibleWidth, .FlexibleHeight]
    mapView.minimumZoomScale = 0.5
    mapView.maximumZoomScale = 0.5
    mapView.displayMap(UIImage(named: "floor_map"))
    melbourne = NAPinAnnotation.annotationWithPoint(CGPointMake(547.0, 460.0)) as! NAPinAnnotation
    melbourne.title = "Sample"
    melbourne.subtitle = "I have a subtitle"
    annotation.createViewOnMapView(mapView)
    mapView.addAnnotation(melbourne, animated: false)
    self.view!.addSubview(mapView)
    let button   = UIButton(type: UIButtonType.System) as UIButton
    button.frame = CGRectMake(100, 300, 100, 50)
    button.setTitle("Test Button", forState: UIControlState.Normal)
    button.addTarget(self, action: "buttonAction:", forControlEvents: UIControlEvents.TouchUpInside)
    mapView.addSubview(button)

// dot = NADotAnnotation.annotationWithPoint(CGPointMake(547.0,460.0)) as! NADotAnnotation // mapView.addAnnotation(dot, animated: true) } }

but pin customization image was not working...

saravananNV avatar Mar 09 '16 15:03 saravananNV