js 獲取瀏覽器經緯度
阿新 • • 發佈:2018-12-10
為了滿足定位需求,先是調了各大地圖的ip轉經緯度(精確到城市,甚至出現精確到省的情況),而後使用百度地圖的Geolocation定位,出於好奇找出了百度Geolocation定位的原始碼,才發現如此簡單,在此跟大家分享。
核心物件
1.Geolocation是window.navigator下面的一個物件,該物件提供了實現地理位置定位的介面。
2.要用該功能首先判斷瀏覽器是否支援navigator.geolocation該物件。
開始使用
navigator.geolocation.getCurrentPosition(function (position) {
console.log('success',position);
var success = {
coords: {
accuracy: 70,// 位置精確度
altitude: null, // 海拔
altitudeAccuracy: null,// 海拔精確度
heading: null,// 朝向
latitude: 23.1017714, // 緯度
longitude: 113.25838209999999,// 經度
speed: null,// 速度
} ,
timestamp: 1544340493718
}
}, function (error) {
console.log('error',error);
var error = {
code: error.code,
message: error.message,
jsapiLoc: true
};
}, {
enableHighAccuracy: false,
timeout: 5000,
maximumAge: 600000
});
option
options是一個物件,可以設定超時時間、快取時間等, 如下:
A.enableHighAccuracy 表示是否允許使用高精度,但這個
引數在很多裝置上設定了都沒用,裝置綜合考慮電量、
地理情況等,很多時候都是預設的由裝置自身來調整。
B.timeout 指定超時時間
C.maximumAge 是指快取的時間