// 浏览器获取当前位置 import { wgs84togcj02, gcj02towgs84 } from './coordinate' // 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 const data = wgs84togcj02(Number(position.coords.longitude), Number(position.coords.latitude)) sessionStorage.setItem('latitude', data[1]) sessionStorage.setItem('longitude', data[0]) } 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) { // console.log(position, 'position') var latitude = position.coords.latitude var longitude = position.coords.longitude // console.log(`Latitude22: ${latitude}`) // console.log(`Longitude22: ${longitude}`) const data = wgs84togcj02(Number(position.coords.longitude), Number(position.coords.latitude)) // console.log(`latitude: ${data[1]}`) // console.log(`longitude: ${data[0]}`) sessionStorage.setItem('latitude', data[1]) sessionStorage.setItem('longitude', data[0]) } function errorCallback(error: any) { // console.log('errorrr') // console.log(`Error: ${error.message}`) } } } getLocation()