-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
}
}
처럼 사용할 수 있습니다. [주석을 제거하는 방법] (https://developer.apple.com/reference/mapkit/mkmapview/1452409-removeannotation)을 알아야합니까? – Caleb