码迷,mamicode.com
首页 > 其他好文 > 详细

判断地图某一点在不在范围内

时间:2020-01-07 16:24:38      阅读:107      评论:0      收藏:0      [点我收藏+]

标签:turn   判断   col   div   bsp   code   cos   else   ram   

 1 /**
 2      * 判断当前的坐标咋不在圆范围内
 3      * @param longitude 当前经度
 4      * @param latitude  当前纬度
 5      * @return boolean
 6      * true:在
 7      * false:不在
 8      */
 9     public boolean isInPolygon(double longitude, double latitude) {
10         double R = 6378137.0;
11        
12         double dLat = (纬度- latitude) * Math.PI / 180;
13         double dLng = (经度- longitude) * Math.PI / 180;
14 
15         double a = Math.sin(dLat / 2) * Math.sin(dLat / 2) + Math.cos(latitude * Math.PI / 180) * Math.cos(纬度* Math.PI / 180) * Math.sin(dLng / 2) * Math.sin(dLng / 2);
16         double c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1 - a));
17         double d = R * c;
18         double dis = Math.round(d);
19 
20         if (dis <= 半径) {
21             return true;
22         } else {
23             return false;
24         }
25     }

 




判断地图某一点在不在范围内

标签:turn   判断   col   div   bsp   code   cos   else   ram   

原文地址:https://www.cnblogs.com/mzc--/p/12161758.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!