作为前端开发者,我们经常需要在地图操作中使用经纬度坐标。而将经纬度转换成度分秒形式的字符串则需要费心思地进行计算。好在 npm 包 @mapbox/sexagesimal 出现了,它是 Mapbox 公司推出的一个简单易用的经纬度度分秒格式转换工具。
今天我们就来学习一下如何使用 @mapbox/sexagesimal。
安装
首先,我们需要在命令行中输入以下命令来安装 @mapbox/sexagesimal:
npm install @mapbox/sexagesimal
安装完成后,我们就可以开始使用它了。
使用
@mapbox/sexagesimal 提供了两个方法,一个是将度分秒形式的经纬度转换成实数(十进制的坐标形式),另一个则是将实数形式的坐标转换成度分秒形式。
转换成实数
我们可以使用 Sexagesimal.parse()
方法将度分秒形式的经纬度转换成实数:
const Sexagesimal = require('@mapbox/sexagesimal'); const lat = Sexagesimal.parse('47°36′21″N'); const lng = Sexagesimal.parse('-122°19′55″W'); console.log(lat, lng); // 47.60583333333333 -122.33194444444444
转换成度分秒
我们可以使用 Sexagesimal.stringify()
方法将实数形式的经纬度转换成度分秒:
-- -------------------- ---- ------- ----- ----------- - ------------------------------- ----- --- - --------- ----- --- - ----------- ----- ------ - --------------------------- ----- ------ - --------------------------- ------------------- -------- -- ------------ -------------
示例代码
下面是一个完整的使用示例:
-- -------------------- ---- ------- ----- ----------- - ------------------------------- ----- ------ - ------------- ----- ------ - --------------- -- --------------- ----- --- - -------------------------- ----- --- - -------------------------- ---------------- ----- -- ----------------- ------------------- -- --------------- ----- ------ - --------- ----- ------ - ----------- ----- --------- - ------------------------------ ----- --------- - ------------------------------ ---------------------- ----------- -- ------------ -------------
总结
@mapbox/sexagesimal 是一个极其简单易用的 npm 包,它将繁琐的经纬度度分秒格式转换变得异常简单。在我们的实际开发中,可以大大地提高我们的效率。希望这篇教程对大家有帮助!
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/5eedb7fdb5cbfe1ea06117ed