आपका पिन चर सही है। अब आपको इस एनोटेशन को MKMapView
पर जोड़ना होगा।
मानचित्र दृश्य में कस्टम एनोटेशन जोड़ने के लिए आप MKAnnotation
के लिए कस्टम क्लास भी बना सकते हैं।
MapExampleiOS8 के लिए एक बीटा डेमो => कौन सा स्विफ्ट 2,1
का समर्थन करता है नीचे दिए गए चरणों का पालन करें:
1. जोड़े MapKit.framework
परियोजना के लिए।
2. बनाएं मानचित्र दृश्य नियंत्रण से स्टोरीबोर्ड चर IBOutlet
या दृश्य नियंत्रक में यह पैदा करते हैं। इस चर के लिए प्रतिनिधि सेट यह प्रतिनिधि तरीकों ओवरराइड करने के लिए:
class ViewController: UIViewController, MKMapViewDelegate {
override func viewDidLoad() {
super.viewDidLoad()
// Set map view delegate with controller
self.mapView.delegate = self
}
}
3. अवहेलना अपने प्रतिनिधि तरीके::
यहाँ हम mapView(_:viewForAnnotation:)
ओवरराइड करने के लिए की जरूरत है
प्रतिनिधि हस्ताक्षर जोड़ें नियंत्रक इंटरफ़ेस देखने पर मानचित्र पर एनोटेशन पिन दिखाने के लिए विधि।
func mapView(mapView: MKMapView, viewForAnnotation annotation: MKAnnotation) -> MKAnnotationView? {
if (annotation is MKUserLocation) {
return nil
}
if (annotation.isKind(of: CustomAnnotation.self)) {
let customAnnotation = annotation as? CustomAnnotation
mapView.translatesAutoresizingMaskIntoConstraints = false
var annotationView = mapView.dequeueReusableAnnotationView(withIdentifier: "CustomAnnotation") as MKAnnotationView!
if (annotationView == nil) {
annotationView = customAnnotation?.annotationView()
} else {
annotationView?.annotation = annotation;
}
self.addBounceAnimationToView(annotationView)
return annotationView
} else {
return nil
}
}
4. दृश्य मैप करने के लिए MKPointAnnotation
जोड़ें।
आप मानचित्र दृश्य में स्थान के लिए पिन जोड़ सकते हैं। सादगी के लिए viewDidLoad()
विधि में कोड जोड़ें।
override func viewDidLoad() {
super.viewDidLoad()
// Set map view delegate with controller
self.mapView.delegate = self
let newYorkLocation = CLLocationCoordinate2DMake(40.730872, -74.003066)
// Drop a pin
let dropPin = MKPointAnnotation()
dropPin.coordinate = newYorkLocation
dropPin.title = "New York City"
mapView.addAnnotation(dropPin)
}
हाँ, यह काम करता है! आसान और छोटा रास्ता। – Mehmet