如何获取浏览器定位信息存储到浏览器缓存中?
1:获取浏览器定位信息存储到浏览器缓存中
因为在获取定位时,在不同的浏览器中返回的地理位置信息格式有所不同。火狐浏览器和谷歌浏览器使用的定位服务提供商和算法也可能不同,这导致了不同的结果。
mounted() {
// 获取地理位置
var geolocation = new BMapGL.Geolocation()
// 判断浏览器类型
var ua = navigator.userAgent.toLowerCase()
var isFirefox = ua.indexOf('firefox') !== -1
var isChrome = ua.indexOf('chrome') !== -1 && ua.indexOf('safari') !== -1
geolocation.getCurrentPosition(function(r) {
if (this.getStatus() === BMAP_STATUS_SUCCESS) {
const province = r.address.province
let city = r.address.city
const district = r.address.district
const street = r.address.street
// 处理火狐浏览器返回的地理位置信息格式
if (isFirefox) {
city = r.address.city
}
// 处理谷歌浏览器返回的地理位置信息格式
if (isChrome) {
if (city === '市辖区' || city === '县') {
city = r.address.province + r.address.district
}
}
console.log('=======', province)
console.log('=======', city)
console.log('=======', district)
console.log('=======', street)
alert(province + city + district + street)
localStorage.setItem('location', province.trim() + ' ' + city.trim() + ' ' + district.trim() + ' ' + street.trim())
}
})
},
在:isFirefox中:
在:isChrome