2016年7月19日 星期二

[swift] IOS地圖運用 透過CLGeocoder轉換經緯度與地址

IOS提供CLGeocoder將地址轉成經緯度,或是把經緯度轉換成地址,詳細語法如下 

  • 記得先Import MapKit
  • 地址轉經緯度(geocodeAddressString)
    ?
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    let geoCoder = CLGeocoder()
    geoCoder.geocodeAddressString("這邊帶入地址", completionHandler: {
       (placemarks:[AnyObject]!,error:NSError!) -> Void in
       if error != nil{
          println(error)
          return
       }
                 
       if placemarks != nil && placemarks.count > 0{
          let placemark = placemarks[0] as CLPlacemark
          //placemark.location.coordinate 取得經緯度的參數           
       }
    })
  • 經緯度轉地址的方法
    ?
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    let geoCoder = CLGeocoder()
    geoCoder.reverseGeocodeLocation(CLLocation(latitude: 25.024839 , longitude: 121.549170), completionHandler: {
       (placemarks:[AnyObject]!,error:NSError!) -> Void in
       if error != nil{
          println(error)
          return
       }
       //name         街道地址
       //country      國家
       //province     省
       //locality     市
       //sublocality  縣.區
       //route        街道、路
       //streetNumber 門牌號碼
       //postalCode   郵遞區號
       if placemarks != nil && placemarks.count > 0{
          let placemark = placemarks[0] as CLPlacemark
          //這邊拼湊轉回來的地址
          //placemark.name
       }
    })

沒有留言:

張貼留言