js转化经纬度坐标
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>度分秒转小数点(小数点的分)</title> <style> .label { width: 232px; display: inline-block; } </style> </head> <body> <!--<button id="transBtn">转换</button>--> <button id="xsdToDfm">小数点转度分秒</button> <button id="dfmToXsd">度分秒转小数点</button> <br> <label for="oldText" class="label transBefore">转换前</label> <label for="newText" class="label transAfter">转换后</label> <br> <textarea name="" id="oldText" cols="30" rows="50" placeholder="支持:E111°11′11″、E1112233、E0791122格式,不用去掉E和度分秒符号"></textarea> <textarea name="" id="newText" cols="30" rows="50"></textarea> <script src="../jquery2.1.1.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/mathjs/4.0.1/math.min.js"></script> <script> function DFM(obj) { this.ToDfm = function (obj) { let newDfm = obj.split(".")[1].replace(/ /g, "").replace(/\'|\’/, "′").split("′")[0]; let miao = Number("0." + newDfm) * 60 + "″"; let duFen = obj.split(".")[0].replace(/ /g, "").replace(/\'|\’/g, "′") + "′"; return $.trim(duFen + miao); }; this.ToDuFenMiao = function (obj) { let d = parseInt(obj.replace(/' '|N|E/g, '')); let xs = Number("0." + String(obj).split('.')[1]); let f = parseInt(xs * 60); let xs2 = Number("0." + String(Number(xs * 60).toFixed(2)).split('.')[1]); let m = Math.round(xs2 * 60); return d + '°' + f + '′' + m + '″'; }; this.ToXiaoShuDian = function (obj) { if (obj.indexOf("°") !== -1) { obj = String(obj).replace(/‘ ’|N|E/g, "").replace(/\'|\’/g, "′").replace(/\"|\”/g, "″"); let miao = Number(String(obj).split('′')[1].split('″')[0]) / 60; let du = String(obj).split("°")[0] + "." + String(Number(Number(miao) + Number(String(obj).split('°')[1].split('′')[0])) * 1000 / (60 * 1000)).replace(/0./, ""); return (du); } else { if (obj.indexOf("N") !== -1) { obj = String(obj).replace(/‘ ’|N/g, ""); if (obj.length === 6) { obj = "0" + obj; } else if (obj.length === 5) { obj = "00" + obj; } let miao = Number(obj.substr(5, 2)) / 60 let fen = Number(Number(obj.substr(3, 2)) + miao) / 60 let du = obj.substr(0, 3) return du + "." + String(fen).replace(/0./, "") } else { obj = String(obj).replace(/‘ ’|E/g, ""); if (obj.length === 6) { obj = "0" + obj; } let miao = Number(obj.substr(5, 2)) / 60 let fen = Number(Number(obj.substr(3, 2)) + miao) / 60 let du = obj.substr(0, 3) return du + "." + String(fen).replace(/0./, "") } } } } var transLatAndLng = new DFM(); $("#transBtn").click(function () { if ($("#oldText").val() != "") { $("#newText").val(transLatAndLng.ToDfm($("#oldText").val())); } }); $("#xsdToDfm").click(function () { $("#newText").val(""); if ($("#oldText").val() != "") { let arr = $("#oldText").val().split("\n"); for (let key in arr) { $("#newText").val($("#newText").val() + transLatAndLng.ToDuFenMiao(arr[key]) + "\n"); } } }); $("#dfmToXsd").click(function () { $("#newText").val(""); if ($("#oldText").val() != "") { let arr = $("#oldText").val().split("\n"); for (let key in arr) { $("#newText").val($("#newText").val() + transLatAndLng.ToXiaoShuDian(arr[key]) + "\n"); } } }); </script> </body> </html>
本文来自博客园,作者:ALin_Da,转载请注明原文链接:https://www.cnblogs.com/alinda/p/15090106.html
。 一个programmer小菜鸟的成长记
分类:
javascript
标签:
javascript
, html+css
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)