第一,先定一个一个pojo。就是一个对象,对象里有 id 经度lag 维度lat

public class Company {private int id;public int getId() {return id;}public void setId(int id) {this.id = id;}public Double getLat() {return lat;}public void setLat(Double lat) {this.lat = lat;}public Double getLag() {return Lag;}public void setLag(Double lag) {Lag = lag;}private Double lat;private Double Lag;}
第二:写一个方法,判断该项目的坐标是不是在,在给定的坐标半径范围内
 
package cn.searchmap.db;import java.math.BigDecimal;public class SearchMapService {/**
 * @param lat *            纬度 * @param lag *            经度 * @param r *            半径 * @return  Boolean */public static Boolean check(Company company, Double lat, Double lag,Integer r) {double R = 6371;// 地球半径double distance = 0.0;double dLat = Double.valueOf(new BigDecimal(String.valueOf((company.getLat() - lat))).multiply(new BigDecimal(String.valueOf(Math.PI))).divide(new BigDecimal(String.valueOf(180)), DEFAULT_DIV_SCALE,BigDecimal.ROUND_HALF_EVEN).toString());double dLon = Double.valueOf(new BigDecimal(String.valueOf((company.getLag() - lag))).multiply(new BigDecimal(String.valueOf(Math.PI))).divide(new BigDecimal(String.valueOf(180)), DEFAULT_DIV_SCALE,BigDecimal.ROUND_HALF_EVEN).toString());double a = Math.sin(dLat / 2) * Math.sin(dLat / 2)+ Math.cos(company.getLat() * Math.PI / 180)* Math.cos(lat * Math.PI / 180) * Math.sin(dLon / 2)* Math.sin(dLon / 2);distance = (2 * Math.atan2(Math.sqrt(a), Math.sqrt(1 - a))) * R * 1000;System.out.println(distance);if (distance > Double.valueOf(String.valueOf(r))) {return false;}return true;}
 
第三:在使用端调用该方法:通过boolean值去判断在不在:               

//建一个company对象 给赋值

// 以南宁市中心朝阳广场5000m内 22.82515 108.327743 5000是半径哦

boolean isok = SearchMapService.check(你的company对象, 22.82515,108.327743, 5000);
if (isok) {
                  Log.e("haha", "亲你在指定的范围内哦");
        //把该项目绘制在地图上。亲,大家懂了吧!如有不懂,欢迎骚扰!
           }else {Log.e("haha", "亲,你被抛弃了,不在指定的范围内");}
         
 

更多相关文章

  1. 类和 Json对象
  2. android通过php连接mysql数据库!!!!
  3. Android中的Bundle类
  4. 从java内存分配角度分析android内存泄漏问题
  5. SharedPreferences
  6. Android(安卓)系统广播机制
  7. Android(安卓)Bundle类
  8. Android--用Pull解析器将对象解析成xml文件及单元测试
  9. Xposed: 勾住(Hook) Android应用程序对象的方法,实现AOP

随机推荐

  1. android 的一些小知识
  2. android所有控件
  3. Android(安卓)启动栈管理方式 (二)
  4. Android(安卓)单选队列 RadioGroup与Radi
  5. android:textAppearance是什么意思
  6. Android界面开发
  7. android Toast大全(五种情形)建立属于你自
  8. 设置TextView文字居中
  9. android 备忘
  10. Android(安卓)音视频汇总