iOS开发,集成高德poi功能

做了将近半年的ios开发,因为一直忙于实现各种功能,都没时间来记录在工作中遇到的问题,现在工作量满满少下来,终于有时间来记录一些编程中的疑难杂症了.

首先来说下AMapSearchKit,这是一个很郁闷的东西,当初用高德做定位的时候,把2.6的sdk包全部下载下来了,包括AMapSearchKit,然后这个包一直没用到,现在做poi功能的时候,使用了这个功能,然后就开始了一系列头疼事情。http://lbsbbs.amap.com/forum.php?mod=viewthread&tid=7346&page=1#pid27882这是我高德论坛里问高德技术的帖子。


这是高德定位sdk的下载地址: http://lbs.amap.com/api/ios-sdk/down/


网上有很多关于xcode运行的时候说frame找不到AMapSearchKit,有各种解决办法,什么删掉AMapSearchKit,再关掉xcode,再清理driveData,再导入AMapSearchKit,还有些朋友是amap.bundle就够了,不需要AMapSearchKit,后来我把原本的删掉,再从官网上下载一个导入,清理后编译就成功了。对于这个结果,我也是醉了。后来我把代码上传到svn,搭档去更新代码的时候,在他那边又出现了找不到AMapSearchKit的问题,之前因为没有做记录,所以我忘掉了是怎么解决这个问题的,后来又一遍遍的尝试,又通过重新下载AMapSearchKit解决了。也就是说上传到svn可能损坏了文件。


接下来记录下实现的过程,

1、设置开启定位,成功后调用回调函数:

(void)locationManager:(CLLocationManager *)manager didUpdateLocations:(NSArray *)locations{

//在这里获取到经纬度,然后把经纬度,你应用在高德上注册的key上传到高德的服务器,然后返回校正后的经纬度


  NSDictionary* params = @{@"locations":[NSString stringWithFormat:@"%f,%f",lo,la],@"coordsys":@"gps",@"key":@"4872cd7c4e2*******5af9a432c4ef"};

    AFHTTPClient* client = [[AFHTTPClient alloc]initWithBaseURL:[NSURL URLWithString:Urladdr]] ;

    

    NSURLRequest* request = [client requestWithMethod:@"POST" path:@"http://restapi.amap.com/v3/assistant/coordinate/convert" parameters:params];

....
{
//这里为校正后的经纬度数据,再开始逆地理编译pio

         search = [[AMapSearchAPI alloc] initWithSearchKey:@"d2b556cd25f4007cd7419e36aa3a0b87" Delegate:self];

        search.delegate = self;

        //构造AMapReGeocodeSearchRequest对象,location为必选项,radius为可选项

        AMapReGeocodeSearchRequest *regeoRequest = [[AMapReGeocodeSearchRequest alloc] init];

        regeoRequest.searchType = AMapSearchType_ReGeocode;

        regeoRequest.location = [AMapGeoPoint locationWithLatitude:la longitude:lo ];

        regeoRequest.radius = 1000;

        regeoRequest.requireExtension = YES;

        

        //发起逆地理编码

        [search AMapReGoecodeSearch: regeoRequest];





}



这是开启逆地理编码后的回调函数

(void)onReGeocodeSearchDone:(AMapReGeocodeSearchRequest *)request response:(AMapReGeocodeSearchResponse *)response{

//根据response.regeocode 处理,获取你想得到的数据


}




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值