需求:在指定经纬度的框内,随机生成N个经纬度点。
/**
* 在矩形范围内随机生成N个经纬度
*
* @param MaxLon:最大经度
* @param MaxLat:最大纬度
* @param MinLon:最小经度
* @param MinLat:最小纬度
* @param num:生成经纬度数量
* @return
*/
public static JSONArray randomLonLat(double MaxLon, double MaxLat, double MinLon, double MinLat, int num) {
JSONArray jsonArray = new JSONArray();
if (num > 0) {
for (int i = 0; i < num; i++) {
BigDecimal db = new BigDecimal(Math.random() * (MaxLon - MinLon) + MinLon);
String lon = db.setScale(6, BigDecimal.ROUND_HALF_UP).toString();// 小数后6位
db = new BigDecimal(Math.random() * (MaxLat - MinLat) + MinLat);
String lat = db.setScale(6, BigDecimal.ROUND_HALF_UP).toString();
JSONObject jsonObject = new JSONObject();
jsonObject.put("lng", lon);
jsonObject.put("lat", lat);
jsonArray.add(jsonObject);
}
}
return jsonArray;
}