欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

js前端獲取用戶位置及ip屬地信息

 更新時間:2022年07月09日 09:42:38   作者:靈扁扁  
這篇文章主要為大家介紹了js前端獲取用戶位置及ip屬地信息示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪

寫在前面

想要像一些平臺那樣顯示用戶的位置信息,例如某省市那樣。那么這是如何做到的, 據(jù)說這個位置信息的準確性在通信網(wǎng)絡運營商那里?先不管,先實踐嘗試下能不能獲取。

嘗試一:navigator.geolocation

嘗試了使用 navigator.geolocation,但未能成功拿到信息。

getGeolocation(){
  if ('geolocation' in navigator) {
    /* 地理位置服務可用 */
    console.log('地理位置服務可用')
    navigator.geolocation.getCurrentPosition(function (position) {
      console.dir('回調成功')
      console.dir(position) // 沒有輸出
      console.dir(position.coords.latitude, position.coords.longitude)
    }, function (error) {
      console.error(error)
    })
  } else {
    /* 地理位置服務不可用 */
    console.error('地理位置服務可用')
  }
}

嘗試二:sohu 的接口

嘗試使用 pv.sohu.com/cityjson?ie… 獲取用戶位置信息, 成功獲取到信息,信息樣本如下:

{"cip": "14.11.11.11", "cid": "440000", "cname": "廣東省"}
// 需要做跨域處理
getIpAndAddressSohu(){
  // config 是配置對象,可按需設置,例如 responseType,headers 中設置 token 等
  const config = {
    headers: {
      Accept: 'application/json',
      'Content-Type': 'application/json;charset=UTF-8',
    },
  }
  axios.get('/apiSohu/cityjson?ie=utf-8', config).then(res => {
    console.log(res.data) // var returnCitySN = {"cip": "14.11.11.11", "cid": "440000", "cname": "廣東省"};
    const info = res.data.substring(19, res.data.length - 1)
    console.log(info) // {"cip": "14.11.11.11", "cid": "440000", "cname": "廣東省"}
    this.ip = JSON.parse(info).cip
    this.address = JSON.parse(info).cname
  })
}

調試的時候,做了跨域處理。

proxy: {
  '/apiSohu': {
    target: 'http://pv.sohu.com/', // localhost=>target
    changeOrigin: true,
    pathRewrite: {
    '/apiSohu': '/'
    }
  },
}

下面是一張獲取到位置信息的效果圖:

嘗試三:百度地圖的接口

需要先引入百度地圖依賴,有一個參數(shù) ak 需要注意,這需要像管理方申請。例如下方這樣

<script src="https://api.map.baidu.com/api?v=2.0&ak=3ufnnh6aD5CST"></script>
getLocation() { /*獲取當前位置(瀏覽器定位)*/
  const $this = this;
  var geolocation = new BMap.Geolocation();//返回用戶當前的位置
  geolocation.getCurrentPosition(function (r) {
    if (this.getStatus() == BMAP_STATUS_SUCCESS) {
      $this.city = r.address.city;
      console.log(r.address) // {city: '廣州市', city_code: 0, district: '', province: '廣東省', street: '', …}
    }
  });
}
function getLocationBaiduIp(){/*獲取用戶當前位置(ip定位)*/
  function myFun(result){
    const cityName = result.name;
    console.log(result) // {center: O, level: 12, name: '廣州市', code: 277}
  }
  var myCity = new BMap.LocalCity();
  myCity.get(myFun);
}

成功用戶的省市位置,以及經(jīng)緯度坐標,但會先彈窗征求用戶意見。

寫在后面

嘗試結果不太理想,sohu 的接口內部是咋實現(xiàn)的,這似乎沒有彈起像下面那樣的征詢用戶意見的提示。

而在 navigator.geolocation 、 BMap.Geolocation() 和 BMap.LocalCity() 中是彈起了的。

用別人的接口總歸是沒多大意思,也不知道不用征求用戶意見是咋實現(xiàn)的。

經(jīng)實測 sohu 的接口、BMap.Geolocation() 和 BMap.LocalCity() 都可以拿到用戶的位置信息(省市、經(jīng)緯度等)。

以上就是js前端獲取用戶位置及ip屬地信息的詳細內容,更多關于js獲取用戶位置ip屬地的資料請關注腳本之家其它相關文章!

相關文章

  • 兼容主流瀏覽器的iframe自適應高度js腳本

    兼容主流瀏覽器的iframe自適應高度js腳本

    兼容主流瀏覽器的 iframe 自適應高度,很實用的,具體的js腳本如下,感興趣的朋友可不要錯過
    2014-01-01
  • 微信小程序中不同頁面?zhèn)鬟f參數(shù)的操作方法

    微信小程序中不同頁面?zhèn)鬟f參數(shù)的操作方法

    這篇文章主要介紹了微信小程序中不同頁面?zhèn)鬟f參數(shù)的操作方法,在開發(fā)項目中,避免不了不同頁面之間傳遞數(shù)據(jù)等,那么就需要進行不同頁面之間的一個數(shù)據(jù)傳遞的,需要的朋友可以參考下
    2023-12-12
  • javascript 數(shù)組操作詳解

    javascript 數(shù)組操作詳解

    這篇文章主要介紹了javascript 數(shù)組操作詳解,需要的朋友可以參考下
    2015-01-01
  • 每天一篇javascript學習小結(RegExp對象)

    每天一篇javascript學習小結(RegExp對象)

    這篇文章主要介紹了javascript中的RegExp對象知識點,對RegExp對象的基本使用方法,以及各種方法進行整理,感興趣的小伙伴們可以參考一下
    2015-11-11
  • JavaScript中隨機數(shù)方法?Math.random()

    JavaScript中隨機數(shù)方法?Math.random()

    這篇文章主要介紹了JavaScript中隨機數(shù)方法?Math.random(),文章圍繞主題展開詳細的內容介紹,具有一定的參考價值,需要的小伙伴可以參考一下
    2022-06-06
  • js獲取 type=radio 值的方法

    js獲取 type=radio 值的方法

    這篇文章主要介紹了js如何獲取type=radio值,需要的朋友可以參考下
    2014-05-05
  • JavaScript document 對象常用方法

    JavaScript document 對象常用方法

    本文詳細介紹了JavaScript中的document對象,它是連接JavaScript與網(wǎng)頁內容的橋梁,document對象提供了訪問和修改網(wǎng)頁結構、內容和樣式的接口,支持各種屬性和方法,適用于動態(tài)更新內容、表單驗證和動態(tài)樣式切換等場景,感興趣的朋友跟隨小編一起看看吧
    2025-02-02
  • javascript加減乘除的簡單實例

    javascript加減乘除的簡單實例

    下面小編就為大家?guī)硪黄猨avascript加減乘除的簡單實例。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-07-07
  • JavaScript 給漢字排序實例代碼

    JavaScript 給漢字排序實例代碼

    數(shù)組的 sort 方法默認字符的編碼排序,有時候要給一組漢字排序,默認的方法就不適用了。
    2008-06-06
  • Web打印解決方案之普通報表打印功能

    Web打印解決方案之普通報表打印功能

    這篇文章主要介紹了Web打印解決方案之普通報表打印功能的相關資料,非常不錯,具有參考借鑒價值,需要的朋友可以參考下
    2016-08-08

最新評論