package com.dcit.common.utils;

import java.util.HashMap;
import java.util.Map;

public class MapUtil {
	
	/**
	 * 查询圆的外切正方形的四点坐标，计算出最大坐标值和最小坐标值
	 * @param longitude 已知经度
	 * @param latitude 已知纬度
	 * @param dis 圆半径 单位：千米
	 * @return
	 */
	public static Map<String, Double> findNeighPosition(double longitude,double latitude,double dis){  
        //先计算查询点的经纬度范围  
        double r = 6371.137;//地球半径千米  可取平均值 6371.137km 
        double dlng =  2*Math.asin(Math.sin(dis/(2*r))/Math.cos(latitude*Math.PI/180));  
        dlng = dlng*180/Math.PI;//角度转为弧度  
        double dlat = dis/r;  
        dlat = dlat*180/Math.PI; 
        
        double minlat =latitude-dlat;  
        double maxlat = latitude+dlat;  
        double minlng = longitude -dlng;  
        double maxlng = longitude + dlng;  
          
        Map<String, Double> map = new HashMap<String, Double>();
        map.put("minlat", minlat);
        map.put("maxlat", maxlat);
        map.put("minlng", minlng);
        map.put("maxlng", maxlng);
        
        return map;  
    }
	
	

}
