Sponsored Link
どうも3urpriseのヤマサキです。
今日はマップを使ったアプリで検索バーに入力した地名を緯度経度に変換しようのコーナーです。
それではスタート!
まずは検索バーを_mysearchBarとし設置している事を前提で話を進めます。
// 検索バーの内容のテキストが変更される度に呼ばれる func searchBar(searchBar: UISearchBar, textDidChange searchText: String) { println(searchBar.text) // これで検索バーの値が取れる } // 検索バーにフォーカスが当たると呼ばれる func searchBarSearchButtonClicked(searchBar: UISearchBar) { // searchBarからフォーカスを外す(=キーボードが隠れる) _mysearchBar.resignFirstResponder() // 目的地の文字列から座標検索 var geocoder = CLGeocoder() geocoder.geocodeAddressString(_mysearchBar.text, {(placemarks: [AnyObject]!, error: NSError!) -> Void in if let placemark = placemarks?[0] as? CLPlacemark { // 地名を入力して検索リストに有れば緯度経度を取得 println(placemark.location.coordinate.latitude, placemark.location.coordinate.longitude) } else { // 検索リストに無ければ println("存在しません") } }) }
これでマップと合わせて使えば検索バーにて検索した地名にピンを刺すなど応用できそうですね。
Sponsored Link
ツイート
SwiftにてUISearchBarを使ってジオコーディング