0
私は場所を検索してそこにピンをドロップする簡単なアプリケーションを作成しています。しかし、私は別のものを試して追加しようとするとこのピンを残す方法を理解できません。ここに私のコードだ:(Swift 3)MapViewに複数のピンを追加する方法
class MyMapViewController: UIViewController, CLLocationManagerDelegate, MKMapViewDelegate, UISearchBarDelegate{
var isMapToBeUpdated = true
var numOfTrackedLocations = 0
let locationManager = CLLocationManager.self
let annotation = MKPointAnnotation()
var annotationTitle = ""
let appDelegate = UIApplication.shared.delegate as! AppDelegate
var longArr: [Double] = []
var latArr: [Double] = []
var cityArr: [String] = [""]
var count: Int = 0
//sets variables and links this file to the app delegate//
@IBOutlet weak var myMapView: MKMapView!
@IBAction func seachButton (_sender: Any){
let searchController = (UISearchController(searchResultsController: nil))
searchController.searchBar.delegate = self
present(searchController, animated: true, completion: nil)
}
//links the search button to the search method//
func searchBarSearchButtonClicked(_ searchBar: UISearchBar) {
UIApplication.shared.beginIgnoringInteractionEvents()
let activityIndicator = UIActivityIndicatorView()
activityIndicator.activityIndicatorViewStyle = UIActivityIndicatorViewStyle.gray
activityIndicator.center = self.view.center
activityIndicator.hidesWhenStopped = true
activityIndicator.startAnimating()
//the above adds a search bar function, and sets the loading animation//
self.view.addSubview(activityIndicator)
searchBar.resignFirstResponder()
dismiss(animated: true, completion: nil)
let searchRequest = MKLocalSearchRequest()
searchRequest.naturalLanguageQuery = searchBar.text
let activeSearch = MKLocalSearch(request: searchRequest)
activeSearch.start { (response, error) in
//starts a search session//
activityIndicator.stopAnimating()
UIApplication.shared.endIgnoringInteractionEvents()
if response == nil
{
print ("ERROR")
}
else
{
var annotation = self.myMapView.annotations
let latitude = response?.boundingRegion.center.latitude
let longitude = response?.boundingRegion.center.longitude
self.annotation.title = searchBar.text
self.annotation.coordinate = CLLocationCoordinate2DMake(latitude!, longitude!)
self.myMapView.addAnnotation(self.annotation)
let coordinate: CLLocationCoordinate2D = CLLocationCoordinate2DMake(latitude!, longitude!)
let span = MKCoordinateSpanMake(0.1, 0.1)
let region = MKCoordinateRegionMake(coordinate, span)
self.myMapView.setRegion(region, animated: true)
これは、ごく一部である、あなたはもう見たい場合、私はそれを投稿することができますが、それは、注釈とは関係ありません。誰もがこれで私を助けることができれば大いに感謝するだろう。
手順を省略しています。 longArr、latArr、cityArrとは何ですか? –
Array私は後でコアデータを使用していますが、これは関係ありません。 – Mot
そのためにenumerationまたはforループを使用できます。 –