Q&A
実現したいこと
お知恵をお貸しいただければ幸いです。
現在個人的にマップアプリを作成しております。
その中でローカル検索をして複数のピンを立てた際、地図を縮小させてそれら複数のピンを全て表示される様にしたいです。
前提
色々検索をしてみた結果、
self.mapView.showAnnotations(self.mapView.annotations, animated: true)
を入れると縮小されて表示されるとあったのですが、
確かに縮小されて表示されますが必ず現在地が含まれる為、現在地から離れた場所をマップに表示させて検索をするとマップがかなり小さくなりピンも重なって表示されてしまうのです。
発生している問題・エラーメッセージ
該当のソースコード
swift
//検索条件を作成する let request = MKLocalSearch.Request() request.naturalLanguageQuery = searchBar.text //検索範囲はマップビューと同じにする request.region = recordMapView.region //ローカル検索を実行する let localSearch:MKLocalSearch = MKLocalSearch(request: request) localSearch.start { (respons, Error) -> Void in if Error != nil { print("ピンなし") } else if respons!.mapItems.count > 0 { for placemark in respons!.mapItems { let annotation = MKPointAnnotation() annotation.coordinate = CLLocationCoordinate2DMake(placemark.placemark.coordinate.latitude, placemark.placemark.coordinate.longitude) annotation.title = placemark.placemark.name annotation.subtitle = "" self.mapView.addAnnotation(annotation) self.mapView.showAnnotations(self.mapView.annotations, animated: true)
試したこと
self.mapView.showAnnotations(self.mapView.annotations, animated: true)
を無くして
self.mapView.region = MKCoordinateRegion(center: annotation.coordinate, latitudinalMeters: 1500.0, longitudinalMeters: 1500.0)
を入れると複数ある検索結果の一つだけがマップに表示される形になる。
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
回答1件
あなたの回答
tips
プレビュー
下記のような回答は推奨されていません。
このような回答には修正を依頼しましょう。