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

徘徊边缘 提交于 2020-01-07 16:00:04
 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     }

 

    
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!