根据经纬度翻译成详细位置的各种方法

首先苹果获取经纬度是

  1. if ([CLLocationManager locationServicesEnabled]) {//判断手机是否可以定位
  2. locationManager = [[CLLocationManager alloc] init];//初始化位置管理器
  3. [locationManager setDelegate:self];
  4. [locationManager setDesiredAccuracy:kCLLocationAccuracyBest];//设置精度
  5. locationManager.distanceFilter = 1000.0f;//设置距离筛选器
  6. [locationManager startUpdatingLocation];//启动位置管理器
  7. }

然后根据其代理获取经纬度

  1. #pragma mark - CLLocationManager Delegate Methods
  2. - (void)locationManager:(CLLocationManager *)manager
  3. didUpdateToLocation:(CLLocation *)newLocation
  4. fromLocation:(CLLocation *)oldLocation;
  5. {
  6. location=[newLocation coordinate];//当前经纬度
  7. lat=location.latitude;
  8. lon=location.longitude;
  9. MKCoordinateSpan theSpan;
  10. theSpan.latitudeDelta=0.01f;
  11. theSpan.longitudeDelta=0.01f;
  12. theRegion.center=location;//定义地图显示范围
  13. theRegion.span=theSpan;
  14. }

根据经纬度解析成位置目前有2种。第一个是调用系统的CLGeocoder类的 reverseGeocodeLocation方法

  1. //根据经纬度解析成位置
  2. CLGeocoder *geocoder=[[[CLGeocoder alloc]init]autorelease];
  3. [geocoder reverseGeocodeLocation:location completionHandler:^(NSArray *placemark,NSError *error)
  4. {
  5. CLPlacemark *mark=[placemark objectAtIndex:0];
  6. [email protected]"没有当前位置的详细信息";
  7. [email protected]"详细信息请点击‘附近’查看";
  8. place.title=[NSString stringWithFormat:@"%@%@%@",mark.subLocality,mark.thoroughfare,mark.subThoroughfare];
  9. place.subTitle=[NSString stringWithFormat:@"%@",mark.name];//获取subtitle的信息
  10. [self.myMapView selectAnnotation:place animated:YES];
  11. } ];

第二种是调用google的api

----http://maps.googleapis.com/maps/api/geocode/json?latlng=%f,%f&sensor=true

网上有人说系统的方法有时候解析不出来位置。第二种google,国内有时候访问不了google服务器,所以都有缺点。

有人建议国内的地图可以使用高德地图(以后摸索下)

PS1:网上有一个比较流行的查找附近功能,是根据google的api搜索的

#define SEARCH_GOOGLE @"https://maps.googleapis.com/maps/api/place/search/json?location=%f,%f&radius=1000&types=%@&sensor=true&key=AIzaSyALaqx0MfPsp2aldbZbzEQAq64SwgQfZ0c"

调用的话就是这样

jsonString = [NSString stringWithFormat:SEARCH_GOOGLE,location.coordinate.latitude,location.coordinate.longitude,@"food"];

jsonString = [NSString stringWithFormat:SEARCH_GOOGLE,location.coordinate.latitude,location.coordinate.longitude,@"bus_station"];

jsonString = [NSString stringWithFormat:SEARCH_GOOGLE,location.coordinate.latitude,location.coordinate.longitude,@"hospital"];

PS2:有个功能,如果长时间按住地图上某个地方,如何获取其经纬度,进而对其显示位置呢?

----

  1. //开始点击长按,不然会执行2次。
  2. if (sender.state==UIGestureRecognizerStateBegan) {
  3. //isLongPress=YES;
  4. CGPoint touchPoint=[sender locationInView:self.myMapView];
  5. CLLocationCoordinate2D touchCoordinate=[self.myMapView convertPoint:touchPoint toCoordinateFromView:self.myMapView];//将触摸点转换经纬度
  6. //反向解析长按时的大头针的信息
  7. location =[[CLLocation alloc]initWithLatitude:touchCoordinate.latitude longitude:touchCoordinate.longitude];
时间: 2024-07-29 02:29:24

根据经纬度翻译成详细位置的各种方法的相关文章

使用百度地图将经纬度转换成具体位置

1.申请百度地图的key: AK http://lbsyun.baidu.com/apiconsole/key http://lbsyun.baidu.com/apiconsole/key/create 最早的百度地图是不需要的这些流程的.但现在百度牛逼了.不申请或审核不通过不给用咯,配置请不要吝啬,全部勾选即可 2.找到开发文档 我们使用的的API叫做 [坐标逆转换],也叫[逆/地址解析] http://lbsyun.baidu.com/index.php?title=jspopular/gu

【随便扯扯】Standby到底翻译成备用还是待机?

最近在翻译VMware VSAN的一本书,术语用词我以官方中文版客户端软件为准.可是,问题出现了,同一个英文表述在不同的中文版客户端软件中,甚至同一个客户端软件中都翻译的不一样. 比如Standby到底应该翻译成备用还是待机?     Web Client英文版里面是这样的:     到了中文版中同样的界面,3个Standby居然在一个页面里面就有2个不同的翻译了. 让我们再到中文版vSphere Client中去看看:    vSwitch配置过程中的Standby Adapter翻译为待机适

Android Google Maps API 网络服务用于网络定位、计算路线、获取经纬度、获取详细地址等

---恢复内容开始--- extends:http://blog.csdn.net/h7870181/article/details/12505883 Google Maps API 网络服务 官网地址 : https://developers.google.com/maps/documentation/webservices/?hl=zh-cn 其实就是一些接口,供我们调用,如: 1.根据地址获取经纬度 http://maps.google.com/maps/api/geocode/json?

华为上机练习题--将英文号码翻译成数字号码

题目: * 将 电话号码 one two ...nine zero 翻译成1  2 ..9 0 * * 中间会有double * * 例如 *     输入:OneTwoThree *     输出:123 *     输入:OneTwoDoubleTwo *     输出:1222 *     输入:1Two2 *     输出:ERROR *     输入:DoubleDoubleTwo *     输出:ERROR 分析:对于字符串的操作有一个比较好用的方法就是replaceAll(),有

如何将图片中的文字翻译成英文

有的时候,因为某种需要,会将图片中的文字翻译成英文,这时候你会在浏览器中将文字一个一个字的输进去 进行翻译吗?这种方法太麻烦了,下面就教大家一种在简单的方法. 步骤一.打开电脑,在浏览器中搜素查找迅捷办公将迅捷OCR文字识别软件下载下来,接下来会使用到,再保存一张需要将文字翻译成英文的图片. 步骤二.下载完成后将软件打开,这时候点击软件上方图片局部识别功能,这里就可以将图片中的文字翻译成英文. 步骤三.点击添加文件按钮,就可以将保存的图片添加进来了. 步骤四.图片添加进来后先不着急识别,可以在这

看这里,教你如何快速将pdf文件翻译成中文

因为网上下载的PDF资料,往往掺杂着一些英文,所以中英文翻译是一件很平常的事,毕竟不是每个人的英文都那么好,轻轻松松的就能够看完一篇英文的文件,那么,我们就要寻找翻译工具来帮助我们看完了,那么如何将PDF文件翻译成中文呢,我们用什么样的翻译工具呢.1.市面上的翻译工具有很多,选择一个好的翻译工具才是最重要的,小编跟大家介绍一下小编经常使用的翻译工具吧.2.我们首先在网上下载一个PDF转换器,借助这个工具,简单的翻译都是没有问题的.3.下载完之后,我们打开这个工具,鼠标点击到特色功能,打开就有PD

图片中的文字如何翻译成英文

如果给你一张带有文字的图片,需要你将文字内容翻译成英文,这时候该怎么办呢?你会选择手动输入文字到相关翻译工具中进行翻译吗,这显然不是一种有效的方法,比较耽误时间,下面小编就来为大家分享一种简单将图中文字翻译成英文的方法. 参考工具:迅捷OCR文字识别软件 操作步骤: 1:首先需要做好准备工作,将需要进行翻译的图片保存在电脑中,接着将OCR文字识别软件打开,选择图片局部识别这个功能板块. 2:进入图片局部识别操作界面后,点击添加文件就可以将刚开始保存的图片添加进来了,注意在这里支持识别的图片格式.

如何将英文翻译成中文?这个方法你值得收藏

不知道大家平时在阅读一篇英文文章的时候是不是经常喜欢将每一句英文用中文进行翻译以后在去理解它的意思,又或是准备开口之前,先用中文在脑海里组织语言?但是一篇英文文章中很多单词时很陌生的,难道我们需要一个一个的将其复制进浏览器中回事翻开词典进行查找吗?其实方法很简单,我们可以借助工具来进行实现,那么,如何将英文翻译成中文呢?下面一起来看看吧! 操作步骤: 步骤一:点击进入文字转语音页面,在左侧工具栏中将出现三个功能选项,点击选择翻译: 步骤二:在右边出现的工具栏中根据提示将英文句子复制进指定区域你也

如何可以将PDF文件在线翻译成中文?

有时心血来潮,会在网上搜索一些专业的影评.杂志等资料,像这些资料格式PDF的多一些,而且有时还会看到纯英文版的,这样想利用起来,就必须要使用一些工具的帮助,就可以轻松的完成翻译的任务,让我们使用起来更轻松.不用下载,直接在网页上面就可以完成,非常的方便,一起来学习一下吧.     在线PDF翻译,可以直接把PDF.Word翻译成中文.英文.繁体中文等多国语言的文档.用户可自定义目标语言,翻译后的文档可以精确保留原文件的所有页面元素和排版.用户可以在短时间之内下载到转换之后的文件.只要用户可以连接