2017-04-21 8 views
-1

私はプロジェクトに取り組んでおり、この部分に固執しています:アレイindexpath.row == 0を選択した後、別のアレイを選択します。新しいピンを消して地図上にドロップします。新しいピンをクリックすると古いピンを削除してマップ上にピン止めしたい

let annotation1 = MKPointAnnotation() 

//SuperMarkets 
let SuperMarket = ["Mass SuperMarket", "West Zone SuperMarket", "Home Needs SuperMarket", "E City SuperMarket", "Al Samary SuperMarket", "Cooperative SuperMarket","Al Madina SuperMarket"] 
let locationManger1 = CLLocationManager() 

var lat = 0.0 
var lng = 0.0 

//1 
func locationManager(_ manager: CLLocationManager, didUpdateLocations locations: [CLLocation]) 
{ 
    let lat1: CLLocationDegrees = lat 
    let lng1: CLLocationDegrees = lng 

    let myLocation1 = CLLocationCoordinate2DMake(lat1,lng1) 
    let mySpan1:MKCoordinateSpan = MKCoordinateSpan(latitudeDelta: 0.01, longitudeDelta: 0.01) 
    let region1:MKCoordinateRegion = MKCoordinateRegion(center: myLocation1,span: mySpan1) 
    self.MapMarket.setRegion(region1, animated: true) 

    //Stop updating locations 
    self.locationManger1.stopUpdatingLocation() 

    //Place a pin for Burj Lhalifa on the map 


    annotation1.coordinate = myLocation1 
    annotation1.title = "Dubai" 

    self.MapMarket.addAnnotation(annotation1) 

} 

func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) { 

    self.locationManger1.delegate = self 
    self.locationManger1.desiredAccuracy = kCLLocationAccuracyBest 
    self.locationManger1.requestAlwaysAuthorization() 
    self.locationManger1.startUpdatingLocation() 
    self.MapMarket.showsUserLocation = true 

    if indexPath.row == 0 
    { 

     lat = 25.242066 
     lng = 55.304286 
     annotation1.subtitle = SuperMarket[0] 

    } 
    else if indexPath.row == 1 
    { 
     annotation1.subtitle = SuperMarket[1] 
     lat = 25.257495 
     lng = 55.296193 
    } 
    else if indexPath.row == 2 
    { 
     annotation1.subtitle = SuperMarket[2] 
     lat = 25.257751 
     lng = 55.298907 
    } 
    else if indexPath.row == 3 
    { 
     annotation1.subtitle = SuperMarket[3] 
     lat = 25.270104 
     lng = 55.320396 
    } 
    else if indexPath.row == 4 
    { 
     annotation1.subtitle = SuperMarket[4] 
     lat = 25.269888 
     lng = 55.303436 
    } 
    else if indexPath.row == 5 
    { 
     annotation1.subtitle = SuperMarket[5] 
     lat = 25.251315 
     lng = 55.333161 
    } 
    else if indexPath.row == 6 
    { 
     annotation1.subtitle = SuperMarket[6] 
     lat = 25.280860 
     lng = 55.350525 
    } 

} 
+0

のように使用することができます注釈を削除したい場合、私はあなたが求めているのかわからないんだけど。 [アノテーションを削除する方法](https://developer.apple.com/reference/mapkit/mkmapview/1452409-removeannotation)を知るだけでいいですか? – Caleb

答えて

0

あなたは、あなたがこの

mapView.removeAnnotations(mapView.annotations) 
関連する問題