ios高德地图,地理编码,基于swift 4.0

9 篇文章 0 订阅

最近在做项目中,需要用到高德地图的,地理编码的功能。但是搜了一下博客,都是反地理的编码的文章。而高德的文档,都藏的比较深。下面就直接写代码了。

import UIKit

class AmpSearchManager: NSObject {
    
    static let sharedInstance = AmpSearchManager()
    var  request:AMapGeocodeSearchRequest=AMapGeocodeSearchRequest()
    var callback: ((AMapGeocode)->())?
    let search = { () -> AMapSearchAPI? in
        
    let serarch =  AMapSearchAPI()
    return serarch
        
    }()
    
    func getGeocode(address:String,callback:((AMapGeocode)->())?){
        //AMapSearchServices.shared().apiKey = "您的Key"
        AMapServices.shared().apiKey = gaoDeKey
        self.search?.delegate = self
        request.address = address
        self.callback = callback
        self.search?.aMapGeocodeSearch(request)
    }

}

extension AmpSearchManager:AMapSearchDelegate{
    
    func onGeocodeSearchDone(_ request: AMapGeocodeSearchRequest!, response: AMapGeocodeSearchResponse!) {
        
        if response.geocodes == nil {
            return
        }
        callback!(response.geocodes[0])
        
//        print(response.geocodes.count)
//        for geo in response.geocodes {
//
//            print(geo.building)
//            print(geo.formattedAddress)
//            print(geo.location)
//
//        }
      
        //解析response获取地理信息,具体解析见 Demo
    }

    
}

代码就这么多行,怎么调用呢。

 override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {
        print("______________")

//           self.navigationController?.pushViewController(EditHotelViewController(), animated: true)
          AmpSearchManager.sharedInstance.getGeocode(address: "深圳锦华大厦", callback: { a in
            
        })
        
    }

现在我们来看AMapGeocode里面有一些什么属性呢。

///地理编码
@interface AMapGeocode : AMapSearchObject
///格式化地址
@property (nonatomic, copy) NSString     *formattedAddress; 
///所在省/直辖市
@property (nonatomic, copy) NSString     *province; 
///城市名
@property (nonatomic, copy) NSString     *city; 
///城市编码
@property (nonatomic, copy) NSString     *citycode; 
///区域名称
@property (nonatomic, copy) NSString     *district; 
///区域编码
@property (nonatomic, copy) NSString     *adcode; 
///乡镇街道
@property (nonatomic, copy) NSString     *township; 
///社区
@property (nonatomic, copy) NSString     *neighborhood; 
///楼
@property (nonatomic, copy) NSString     *building; 
///坐标点
@property (nonatomic, copy) AMapGeoPoint *location; 
///匹配的等级
@property (nonatomic, copy) NSString     *level;
@end

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值