iOS 根据经纬度反查 地名

在iOS中 
定位自己的当前位置,知道经纬度很简单,然后有些时候要知道地名,apple 也有了现成的api直接调用就可以(以下方法是iOS5.0以上的,现在基本都忽略了 iOS5.0以下的设备)

#pragma mark -
#pragma mark CLLocationManagerDelegate

- (void)locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation {

   CLGeocoder *geocoder=[[CLGeocoder alloc] init];
    [geocoder reverseGeocodeLocation:newLocation
                   completionHandler:^(NSArray *placemarks,
                                       NSError *error)
    {
        CLPlacemark *placemark=[placemarks objectAtIndex:0];
        NSLog(@"name:%@\n country:%@\n postalCode:%@\n ISOcountryCode:%@\n ocean:%@\n inlandWater:%@\n locality:%@\n subLocality:%@ \n administrativeArea:%@\n subAdministrativeArea:%@\n thoroughfare:%@\n subThoroughfare:%@\n",
              placemark.name,
              placemark.country,
               placemark.postalCode,
               placemark.ISOcountryCode,
               placemark.ocean,
               placemark.inlandWater,
               placemark.administrativeArea,
               placemark.subAdministrativeArea,
              placemark.locality,
               placemark.subLocality,
               placemark.thoroughfare,
               placemark.subThoroughfare);
     }];
	if (wasFound) return;
    wasFound = YES;

	CLLocationCoordinate2D loc = [newLocation coordinate];

	strLatitude = [NSString stringWithFormat: @"%f", loc.latitude];
	strLongitude = [NSString stringWithFormat: @"%f", loc.longitude];

	NSLog(@"strLatitude==%@,strLongitude==%@",strLatitude,strLongitude);

}

log 是:

 name:市民广场
 country:中国
 postalCode:(null)
 ISOcountryCode:CN
 ocean:(null)
 inlandWater:(null)
 locality:广东省
 subLocality:(null)
 administrativeArea:深圳市
 subAdministrativeArea:福田区
 thoroughfare:市民广场
 subThoroughfare:(null)

第二种方法就是 我们已经知道了一个经纬度 然后反查地名:

自己写个方法:

-(void)change{
    //22.540681,=114.061324
    CLLocationCoordinate2D coordinate;
    coordinate.latitude =  22.540681;
    coordinate.longitude = 114.061324;
    CLLocation *newLocation=[[CLLocation alloc]initWithLatitude:coordinate.latitude longitude: coordinate.longitude];
    CLGeocoder *geocoder=[[CLGeocoder alloc] init];
    [geocoder reverseGeocodeLocation:newLocation
                   completionHandler:^(NSArray *placemarks,
                                       NSError *error)
     {
         CLPlacemark *placemark=[placemarks objectAtIndex:0];
         NSLog(@"我我的:%@\n country:%@\n postalCode:%@\n ISOcountryCode:%@\n ocean:%@\n inlandWater:%@\n locality:%@\n subLocality:%@ \n administrativeArea:%@\n subAdministrativeArea:%@\n thoroughfare:%@\n subThoroughfare:%@\n",
               placemark.name,
               placemark.country,
               placemark.postalCode,
               placemark.ISOcountryCode,
               placemark.ocean,
               placemark.inlandWater,
               placemark.administrativeArea,
               placemark.subAdministrativeArea,
               placemark.locality,
               placemark.subLocality,
               placemark.thoroughfare,
               placemark.subThoroughfare);
     }];

}

nslog 的结果和上面的一样。

时间: 2024-10-02 23:29:23

iOS 根据经纬度反查 地名的相关文章

PHP地址反查返回经纬度 百度API

/** * 百度地图   根据地址反查经纬度 */ public function search_xy(){ $address = str_replace(' ','',$address); $rows = file_get_contents("http://api.map.baidu.com/geocoder/v2/?ak=xxxxxxxxxxxxxx&callback=renderOption&output=json&address=首都图书馆&city=北京

SQL自连接(源于推荐算法中的反查表问题)

"基于用户的协同过滤算法"是推荐算法的一种,这类算法强调的是:把和你有相似爱好的其他的用户的物品推荐给你. 要实现该推荐算法,就需要计算和你有交集的用户,这就要用到物品到用户的反查表. 先举个例子说明下反查表:甲喜欢的物品有:A.B.C:乙喜欢的物品有:B.E.F:丙喜欢的物品有:A.J.K:而你喜欢的物品是:A.J.M.反查表就是喜欢A物品的有你.甲.丙,喜欢J物品的有你.丙,喜欢M物品的只有你,这就是和你喜欢的物品有联系的用户.有了这个反查表,我们就可以看出和你有关系的用户只有甲和

C段查询雏形之在Java中反查一个IP上的所有域名(旁站查询)

这里使用了两个接口来反查IP,分别是"站长工具"和"爱站"的接口,两者各有千秋,结合起来查询就较为准确了. 注:我目前只写了个初始版本,还不太完善,但是可以基本使用了,代码中关键地方有注释,所以我就不多解释了 算法核心: package NmapTest; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.io.Inpu

ios系统经纬度转百度经纬度及经纬度转地址

正在进行的项目中有这样的需求:定位获得当前经纬度,再用百度Place API使用经纬度查询周边信息.这里不需要显示地图,只需要定位.看似思路很顺畅,做起来却不容易. iPhone的GPS定位(CLLocationManager)获得的经纬坐标是基于WGS-84坐标系(世界标准),Google地图使用的是GCJ-02坐标系(中国特色的火星坐标系),这就是为什么获得的经纬坐标在google地图上会发生偏移.我项目需求是使用百度Place API,百度的经纬坐标在GCJ-02的基础上再做了次加密,就是

2048记录反查(javascript)

还是2048的记录反查,原先我写过一个,请看地址2048记录反查(ruby),不过是ruby版的.近期对js很感兴趣,一直在学习,所以就想顺便写一个js版的吧,至少方便发布到网页上.就去网上找了随便找了网页版的2048,感谢黄岩同学,在他的框架下,参考ruby版的,写出了html的2048记录反查.其实js里面的坑还是很多的,掉进去n次,太丢人就不说了,总之最后还是写出来了.源码在下面,我也随便发布到了github,地址是 http://qqrrm.github.io/2048.html其实有目

2048记录反查(ruby)

#58640.2048我打的最大分,别人问,你到底最高多少啊.只有最高纪录分数看不到状态,干脆写个程序,告诉别人自己到底打到多少吧,我其实只记得自己是4096+1024,其他的分数忘记了,不过使用这个程序,很容易就分析出来了.#2048是在合成的时候记录分数,比如4和4合成8,记录8分,类似这个样子.新出现的2或者4是不计分数的.所以可以通过递归,获得块数合成时候的分数. ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23

ip反查域名

nslookup 或者 dig -t ptr都不行 找了很多资料,大概意思是:目前的dns已经不支持反查了 不过后来无意中发现这个网站却做到了 http://www.myipneighbors.com/ 能否讨论一下它是怎么实现的

小鹤双拼飞扬版反查编码功能解释-by老随风

更新时间:2015-05-22 反查编码功能 文中例字均为(码maum) 关于知道编码也不知道为何这么拆,请明白鹤形是拆一个字首尾两部分的形码 ②ofi   (知道字怎么读,想知道该字是否有其他编码) ③ofi: (不知道字怎么读,但该字可以复制到剪贴板) ④:i   (查某字的详细信息:读音.笔画数.部首.笔顺.小鹤编码.释义) ⑤ozd  (打开候选窗字典功能) ⑥omb  (查码表,这个如果也查不出来的话,说明小鹤飞扬版词库没这个字或词) ⑦ohd  (这个专治笔顺和读音不对的亲们) 关于

SAP函数 CS_WHERE_USED_MAT 反查上层BOM

遇到用户要根据下层物料反查最上层BOM物料是什么. 试了一下,通过函数 CS_WHERE_USED_MAT 来查询,但是只能往上查询一层,类似事务码CS15的效果.如果要找最上层物料,需要自己写迭代进行查询. DATA: lt_wultb TYPE TABLE OF stpov, lt_equicat TYPE TABLE OF cscequi, lt_kndcat TYPE TABLE OF cscknd, lt_matcat TYPE TABLE OF cscmat, lt_stdcat T