Newer
Older
smartwell_front / src / utils / getLocation.ts
lyg on 3 Sep 2 KB 设备新建功能
// 浏览器获取当前位置

// 1.首先获取浏览器类型
export function myBrowser() {
  var userAgent = navigator.userAgent as string // 取得浏览器的userAgent字符串
  var isOpera = userAgent.includes('Opera')
  if (isOpera) {
    return 'Opera'
  } // 判断是否Opera浏览器
  if (userAgent.includes('Firefox')) {
    return 'FF'
  } // 判断是否Firefox浏览器
  if (userAgent.includes('Chrome')) {
    return 'Chrome'
  }
  if (userAgent.includes('Safari')) {
    return 'Safari'
  } // 判断是否Safari浏览器
  if (userAgent.includes('compatible') && userAgent.includes('MSIE') && !isOpera) {
    return 'IE'
  } // 判断是否IE浏览器
}
console.log(myBrowser(), '当前浏览器')

export const getLocation = () => {
  const browserType = myBrowser()
  if (browserType === 'FF') {
    if (navigator.geolocation) {
      navigator.geolocation.getCurrentPosition(successCallback, errorCallback)
    }
    else {
      console.log('Geolocation is not supported by this browser.')
    }

    function successCallback(position: any) {
      var latitude = position.coords.latitude
      var longitude = position.coords.longitude
      console.log(`Latitude11: ${latitude}`)
      console.log(`Longitude11: ${longitude}`)
      sessionStorage.setItem('latitude', latitude)
      sessionStorage.setItem('longitude', longitude)
    }

    function errorCallback(error: any) {
      console.log(`Error: ${error.message}`)
    }
  }
  else {
    if (navigator.geolocation) {
      navigator.geolocation.getCurrentPosition(successCallback, errorCallback)
    }
    else {
      console.log('Geolocation is not supported by this browser.')
    }

    function successCallback(position: any) {
      var latitude = position.coords.latitude
      var longitude = position.coords.longitude
      console.log(`Latitude22: ${latitude}`)
      console.log(`Longitude22: ${longitude}`)
      sessionStorage.setItem('latitude', latitude)
      sessionStorage.setItem('longitude', longitude)
    }

    function errorCallback(error: any) {
      console.log(`Error: ${error.message}`)
    }
  }
}
getLocation()