navigator.geolocation vue H5定位在移動端ios版本12.2微信中不能使用

開發遇到的一點問題,在網上找了好久沒有找到,解決以後,想總結一點本身心得,不喜勿噴。 如下都是vue開發,其餘狀況我沒測試 也不知道。html

第一個坑

Internet Explorer 九、Firefox、Chrome、Safari 以及 Opera 支持地理定位。前端

IE9在W3c上說支持,可是在caniuse查到的並不支持。實測了一下 IE9支持。

第二坑

必需要採用https請求,這是改版以後,否則請求失敗。vue

第三坑

ios版本微信12.2 即便https有時候也不能使用,這是爲啥呢,我也不知道。 解決方案: 在index.html裏面寫方法,其餘地方好像檢測不到地理位置 安卓手機沒有這種狀況 ios

附上代碼

// 定位
            navigator.geolocation.getCurrentPosition(
                position => {
                    let lat = ''
                    let log = ''
                    lat = position.coords.latitude; //緯度
                    log = position.coords.longitude; //經度
                    console.log("緯度:" + lat + ",經度:" + log);
                    localStorage.setItem("gps",JSON.stringify( {
                    longitude: log,
                    latitude: lat,
                    address: ""
                    }));
                },
                error => {
                    console.log(error);
                },
                {
                    enableHighAcuracy: true, // 指示瀏覽器獲取高精度的位置,默認爲false
                    timeout: 5000, // 指定獲取地理位置的超時時間,默認不限時,單位爲毫秒
                    maximumAge: 3000 // 最長有效期,在重複獲取地理位置時,此參數指定多久再次獲取位置。
                }
            );
複製代碼

不想寫了,本來打算好好寫的,心情不太好, 直接簡單說一下, 多是一個不稱職的前端開發。git

相關文章
相關標籤/搜索