首頁 >web前端 >js教程 >怎麼使用JS得到本地經緯度

怎麼使用JS得到本地經緯度

不言
不言原創
2018-07-17 16:05:374018瀏覽

 這篇文章給大家分享的內容是使用js取得本地經緯度,有需要的朋友可以參考一下

一個最簡單的呼叫方法

window.navigator.geolocation.getCurrentPosition(function (position) {
    console.log(position.coords.latitude)
    console.log(position.coords.longitude)
})

封裝好的程式碼如下:

function getPosition () {
  return new Promise((resolve, reject) => {
    if (navigator.geolocation) {
      navigator.geolocation.getCurrentPosition(function (position) {
        let latitude = position.coords.latitude
        let longitude = position.coords.longitude
        let data = {
          latitude: latitude,
          longitude: longitude
        }
        resolve(data)
      }, function () {
        reject(arguments)
      })
    } else {
      reject('你的浏览器不支持当前地理位置信息获取')
    }
  })
}

呼叫方法如下:

      // 获取当前经纬度坐标
      getPosition().then(result => {
        // 返回结果示例:
        // {latitude: 30.318030999999998, longitude: 120.05561639999999}
        // 一般小数点后只取六位,所以用以下代码搞定
        let queryData = {
          longtitude: String(result.longitude).match(/\d+\.\d{0,6}/)[0],
          latitude: String(result.latitude).match(/\d+\.\d{0,6}/)[0],
          channelType: '00'
        }
        console.log(queryData)
        // 以下放置获取坐标后你要执行的代码:
        // ...
      }).catch(err => {
        console.log(err)
      })

記得,這是一個非同步操作,所以取得座標後需要執行的程式碼不能直接寫在函數後面,而是應該寫在then裡面(參考註解所寫的位置)

相關推薦:

微信js取得經緯度如何傳值

#

以上是怎麼使用JS得到本地經緯度的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn