//第一种苹果自带的

  1. CLLocation *orig=[[[CLLocation alloc] initWithLatitude:[mainDelegate.latitude_self doubleValue]  longitude:[mainDelegate.longitude_self doubleValue]] autorelease];
  2. CLLocation* dist=[[[CLLocation alloc] initWithLatitude:[tmpNewsModel.latitude doubleValue] longitude:[tmpNewsModel.longitude doubleValue] ] autorelease];
  3. CLLocationDistance kilometers=[orig distanceFromLocation:dist]/1000;
  4. NSLog(@"距离:",kilometers);

//第二种,手动计算

  1. #pragma mark - calculate distance  根据2个经纬度计算距离
  2. #define PI 3.1415926
  3. +(double) LantitudeLongitudeDist:(double)lon1 other_Lat:(double)lat1 self_Lon:(double)lon2 self_Lat:(double)lat2{
  4. double er = 6378137; // 6378700.0f;
  5. //ave. radius = 6371.315 (someone said more accurate is 6366.707)
  6. //equatorial radius = 6378.388
  7. //nautical mile = 1.15078
  8. double radlat1 = PI*lat1/180.0f;
  9. double radlat2 = PI*lat2/180.0f;
  10. //now long.
  11. double radlong1 = PI*lon1/180.0f;
  12. double radlong2 = PI*lon2/180.0f;
  13. if( radlat1 < 0 ) radlat1 = PI/2 + fabs(radlat1);// south
  14. if( radlat1 > 0 ) radlat1 = PI/2 - fabs(radlat1);// north
  15. if( radlong1 < 0 ) radlong1 = PI*2 - fabs(radlong1);//west
  16. if( radlat2 < 0 ) radlat2 = PI/2 + fabs(radlat2);// south
  17. if( radlat2 > 0 ) radlat2 = PI/2 - fabs(radlat2);// north
  18. if( radlong2 < 0 ) radlong2 = PI*2 - fabs(radlong2);// west
  19. //spherical coordinates x=r*cos(ag)sin(at), y=r*sin(ag)*sin(at), z=r*cos(at)
  20. //zero ag is up so reverse lat
  21. double x1 = er * cos(radlong1) * sin(radlat1);
  22. double y1 = er * sin(radlong1) * sin(radlat1);
  23. double z1 = er * cos(radlat1);
  24. double x2 = er * cos(radlong2) * sin(radlat2);
  25. double y2 = er * sin(radlong2) * sin(radlat2);
  26. double z2 = er * cos(radlat2);
  27. double d = sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2)+(z1-z2)*(z1-z2));
  28. //side, side, side, law of cosines and arccos
  29. double theta = acos((er*er+er*er-d*d)/(2*er*er));
  30. double dist  = theta*er;
  31. return dist;
  32. }

IOS根据两个经纬度计算相距距离的更多相关文章

  1. iOS-根据两个经纬度计算相距距离

    CLLocation *orig=[[[CLLocation alloc] initWithLatitude:[mainDelegate.latitude_self doubleValue] long ...

  2. js根据经纬度计算两点距离

    js版-胡老师 google.maps.LatLng.prototype.distanceFrom = function(latlng) {    var lat = [this.lat(), lat ...

  3. .NET资料之-根据两点经纬度计算直线距离

    最近做东西碰到要根据两点经纬度计算之间的直线距离,就网上找了查了下资料.因为这类接触的比较少,就直接找现成的代码了,没怎么研究.代码如下,作为记录. private const double EART ...

  4. 【微信开发】微信小程序通过经纬度计算两地距离php代码实现

    需求: 要求做个根据用户当前位置获取周围商家地址,并且按照由近到远排序, 方法一: 代码层实现 封装方法: /** * @desc 根据两点间的经纬度计算距离 * @param float $lat ...

  5. PHP 之根据两个经纬度计算距离

    一.函数代码 /** * @param $lng1 * @param $lat1 * @param $lng2 * @param $lat2 * @return float */ function g ...

  6. iOS 根据经纬度计算与地理北极夹角

    http://www.aiuxian.com/article/p-2767848.html #define toDeg(X) (X*180.0/M_PI) /**  * @method 根据两点经纬度 ...

  7. Geohash-》通过经纬度计算两地距离的函数

    /**      * 根据起点坐标和终点坐标测距离      * @param  [array]   $from  [起点坐标(经纬度),例如:array(118.012951,36.810024)] ...

  8. tp5 根据经纬度计算门店距离 可排序

    $branchInfo=Db::name('Branch')->where('b_id','250')->find(); $map['p.cate_id']=array('eq',5); ...

  9. mySQL函数根据经纬度计算两点距离

    DROP FUNCTION IF EXISTS func_calcDistance ; CREATE FUNCTION func_calcDistance( origLng ,), -- 目的地经度 ...

随机推荐

  1. webApi2 上传大文件代码

    上传大文件,取消内存缓存: GlobalConfiguration.Configuration.Services.Replace(typeof(IHostBufferPolicySelector), ...

  2. liunx(centos7 ) 免密码登录

    centos7 1.准备两台机器 如:(A机器) 和  (B机器) A机器 删除(.ssh目录下文件 known_hosts) 2. 对两台机器生成密钥 在  (A机器)上执行命令: [root@iZ ...

  3. ubuntu alsa

    今天要在linux下搞音频编程,在网上查阅了一下资料,网上很多资料都是在linux下直接对/dev/dsp进行编程的,因为在以往的linux系统中,我们是可以通过cat  xxx.wav /dev/d ...

  4. Git------如何使用Git Bash Here提交代码

    转载:码云帮助文档地址 http://git.mydoc.io/?t=154712 1.打开“Git Bash Here” 2.输入: ssh-keygen -t rsa -C "xxxxx ...

  5. SpringMVC由浅入深day02_7上传图片

    7 上传图片 7.1 需求 在修改商品页面,添加上传商品图片功能. 7.2 springmvc中对多部件类型解析 在页面form中提交enctype="multipart/form-data ...

  6. 8 -- 深入使用Spring -- 3...3 使用Resouce作为属性

    8.3.3 使用Resouce作为属性 当应用程序中的Bean实例需要访问资源时,Spring可以直接利用依赖注入. 如果Bean实例需要访问资源,有如下两种解决方案: ⊙ 在代码中获取Resourc ...

  7. Spring集成Mybatis,spring4.x整合Mybatis3.x

    Spring集成Mybatis,spring4.x整合Mybatis3.x ============================== 蕃薯耀 2018年3月14日 http://www.cnblo ...

  8. 【GIS】postgres(postgis) --》nodejs+express --》geojson --》leaflet

    一.基本架构 1.数据存储层:PostgreSQL-9.2.13 + postgis_2_0_pg92 2.业务处理层:Nodejs + Express + PG驱动 3.前端展示层:Leaflet ...

  9. 【代码审计】EasySNS_V1.6 前台XSS跨站脚本漏洞分析

    0x00 环境准备 EasySNS官网:http://www.imzaker.com/ 网站源码版本:EasySNS极简社区V1.60 程序源码下载:http://es.imzaker.com/ind ...

  10. IIS 7安装ModSecurity实现WAF功能

    ModSecurity 是一款开源Web应用防火墙,支持Apache/Nginx/IIS,可作为服务器基础安全设施,还是不错的选择. 系统环境:window 2008 R2+IIS 7 0X01 Mo ...