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