MapKit ile uğraşıyordum, bir harita üzerinde belirli yerleri görüntüleyen bir uygulama geliştiriyorum. Koordinatları, başlığı ve altyazısını kullanarak MKPointAnnotation koduyla pimleri eklemeyi başardım. Şimdi yer hakkında daha fazla bilgi içeren bir ekrana gitmek için sağ taraftaki ek bilgi düğmesini eklemek istiyorum. Denemeye devam ediyorum ama boşuna. Herhangi biri yardım edebilir mi?MKAnnotationView ile MKPointAnnotation bağlantısı oluşturma
Kodum şimdiye kadar geçerli:
import UIKit
import MapKit
import CoreLocation
class ViewController: UIViewController, MKMapViewDelegate, CLLocationManagerDelegate {
@IBOutlet weak var map: MKMapView!
var locationManager = CLLocationManager()
class CustomPointAnnotation: MKPointAnnotation {
var imageName: String!
}
override func viewDidLoad() {
super.viewDidLoad()
// Request location
locationManager.delegate = self
locationManager.desiredAccuracy = kCLLocationAccuracyBest
locationManager.requestWhenInUseAuthorization()
locationManager.startUpdatingLocation()
self.map.showsUserLocation = true;
// Map
var latitude:CLLocationDegrees = 52.630886
var longitude:CLLocationDegrees = 1.297355
var latDelta:CLLocationDegrees = 0.05
var lonDelta:CLLocationDegrees = 0.05
var span:MKCoordinateSpan = MKCoordinateSpanMake(latDelta, lonDelta)
var location:CLLocationCoordinate2D = CLLocationCoordinate2DMake(latitude, longitude)
var region:MKCoordinateRegion = MKCoordinateRegionMake(location, span)
map.setRegion(region, animated: true)
// Castle 52.628599, 1.296355
var castle = MKPointAnnotation()
castle.coordinate.latitude = 52.628599
castle.coordinate.longitude = 1.296355
castle.title = "Norwich Castle"
castle.subtitle = "Subtitle..."
map.addAnnotation(castle)
// Cathedral 52.631869, 1.300919
var cathedral = MKPointAnnotation()
cathedral.coordinate.latitude = 52.631869
cathedral.coordinate.longitude = 1.300919
cathedral.title = "Norwich Cathedral"
cathedral.subtitle = "Subtitle..."
map.addAnnotation(cathedral)
// The Guildhall 52.629032, 1.292522
var guildhall = MKPointAnnotation()
guildhall.coordinate.latitude = 52.629032
guildhall.coordinate.longitude = 1.292522
guildhall.title = "The Guildhall"
guildhall.subtitle = "Subtitle..."
map.addAnnotation(guildhall)
// The Halls 52.631120, 1.295712
var halls = MKPointAnnotation()
halls.coordinate.latitude = 52.631120
halls.coordinate.longitude = 1.295712
halls.title = "The Halls"
halls.subtitle = "Subtitle..."
map.addAnnotation(halls)
// The Assembly House 52.626867, 1.290733
var assembly = MKPointAnnotation()
assembly.coordinate.latitude = 52.626867
assembly.coordinate.longitude = 1.290733
assembly.title = "The Assembly House"
assembly.subtitle = "Subtitle..."
map.addAnnotation(assembly)
// Surrey House 52.625162, 1.293919
var surrey = MKPointAnnotation()
surrey.coordinate.latitude = 52.625162
surrey.coordinate.longitude = 1.293919
surrey.title = "Surrey House"
surrey.subtitle = "Subtitle..."
map.addAnnotation(surrey)
// City Hall 52.628645, 1.291606
var cityhall = MKPointAnnotation()
cityhall.coordinate.latitude = 52.628645
cityhall.coordinate.longitude = 1.291606
cityhall.title = "City Hall"
cityhall.subtitle = "Subtitle..."
map.addAnnotation(cityhall)
}
func locationManager(manager: CLLocationManager!, didUpdateLocations locations: [AnyObject]!) {
println(locations)
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
}
şimdiye kadar bu iyi midir? Herhangi bir yardım takdir edilecektir, bu benim ilk uygulama bu yüzden basit terimlerle harika olurdu!
sayesinde
Sam