javascript - 将纬度和经度转换为十进制值

标签 javascript regex geolocation gps geocoding

我有以下形式的 GPS 信息:

北纬 36°57'9"西经 110°4'21"

我可以使用 javascript functions of Chris Veness将度、分和秒转换为数字度,但首先需要将 GPS 信息解析为单独的纬度和经度字符串(带有 NSEW 后缀)。我已经阅读了关于 stackoverflow 的相关帖子,但我不是正则表达式专家(也不是程序员),需要一些解析功能方面的帮助。将此字符串解析为纬度和经度以便在转换函数中使用的最佳方法是什么?

所有这一切的结果将是一个 Web 链接,点击该链接可以查看 Google map 位置表示。

最佳答案

要解析您的输入,请使用以下命令。

function ParseDMS(input) {
    var parts = input.split(/[^\d\w]+/);
    var lat = ConvertDMSToDD(parts[0], parts[1], parts[2], parts[3]);
    var lng = ConvertDMSToDD(parts[4], parts[5], parts[6], parts[7]);
}

以下会将您的 DMS 转换为 DD

function ConvertDMSToDD(degrees, minutes, seconds, direction) {
    var dd = degrees + minutes/60 + seconds/(60*60);

    if (direction == "S" || direction == "W") {
        dd = dd * -1;
    } // Don't do anything for N or E
    return dd;
}

因此您的输入将产生以下结果:

36°57'9" N  = 36.9525000
110°4'21" W = -110.0725000

小数坐标可以通过 GLatLng(lat, lng) ( Google Maps API ) 输入到 google map 以获取点

关于javascript - 将纬度和经度转换为十进制值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1140189/

相关文章:

php - 这个正则表达式在 codeigniter 的 uri 中不起作用

google-maps-api-3 - jQuery Mobile + jQuery UI 谷歌地图 + 融合标记

javascript - 我们如何使用 jquery 获取图像的位置并在该位置放置其他图像

javascript - 使用 JavaScript 从 iframe 读取数据

javascript - 使用 leaflet-geosearch 添加搜索栏

google-maps - 无需 GPS 即可获取位置(纬度/经度),就像我的谷歌地图位置功能一样

php - 从他们的 IP 获取访问者所在的国家/地区

javascript - 使用 vuejs 而不使用指令的域特定语言

javascript - 将单词与旁边的空格匹配

c# - 可以在 MySQL Select 语句中允许正则表达式匹配吗?