/**
* @description 经纬度转度分秒 输入 toDeg(29.837778)
* @param {v} v 经纬度
* @return {*} String
*/
export const toDeg = (v) => {
let val = String(v)
if (typeof (val) == "undefined" || val == "") {
return "";
}
let i = val.indexOf('.');
let strDu = i < 0 ? val : val.substring(0, i);//获取度
let strFen = 0;
let strMiao = 0;
if (i > 0) {
let strFen = "0" + val.substring(i);
strFen = strFen * 60 + "";
i = strFen.indexOf('.');
if (i > 0) {
strMiao = "0" + strFen.substring(i);
strFen = strFen.substring(0, i);//获取分
strMiao = strMiao * 60 + "";
i = strMiao.indexOf('.');
strMiao = strMiao.substring(0, i + 4);//取到小数点后面三位
strMiao = parseFloat(strMiao).toFixed(2);//精确小数点后面两位
}
}
return strDu + "," + strFen + "," + strMiao;
}
/**
* @description 度分秒转经纬度 输入 toLngLat(29,50,16)
* @param {strDu} strDu 度
* @param {strFen} strFen 分
* @param {strMiao} strMiao 秒
* @param {len} len 保留的位数 默认6位
* @return {*} Number 29.837778
*/
export const toLngLat = (strDu, strFen, strMiao, len = 6) => {
len = (len > 6 || typeof (len) == "undefined") ? 6 : len;//精确到小数点后最多六位
strDu = (typeof (strDu) == "undefined" || strDu == "") ? 0 : parseFloat(strDu);
strFen = (typeof (strFen) == "undefined" || strFen == "") ? 0 : parseFloat(strFen) / 60;
strMiao = (typeof (strMiao) == "undefined" || strMiao == "") ? 0 : parseFloat(strMiao) / 3600;
let digital = strDu + strFen + strMiao;
if (digital == 0) {
return "";
} else {
return Number(digital.toFixed(len));
}
}