地理位置API不提供位置信息。位置信息由设备所获取(例如智能手机、PC或调制解调器),随后才能在浏览器中被API所服务。通常地理位置将通过使用这些方法的其中一种来尝试确定设备位置。
Google Gears地理位置通过发送可提示用户物理位置的一系列参数至网络定位提供商服务器工作,定位服务器默认为Google所提供的(code.l.google.com)。[10]部分参数为检测到的移动基站及Wi-Fi网络列表与其信号强度。这些参数随后被打包进JavaScript对象表示法(JSON)信息中并通过HTTP POST发送至网络定位提供商。基于这些参数,网络定位提供商可计算位置。人们通常使用位置信息来强制访问控制、本地化与自定义内容;分析流量、個人化網路廣告并防止可能的身份窃取。[11]
const geoFindMe = () => {
if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition(success, error, geoOptions);
} else {
console.log("阁下的网页浏览器不支持地理位置服务。");
}
}
const success = (position) => {
const latitude = position.coords.latitude;
const longitude = position.coords.longitude;
const altitude = position.coords.altitude;
const accuracy = position.coords.accuracy;
console.log(`纬度:${latitude} 经度:${longitude}`);
}
const error = (error) => {
console.log(`由于 ${error.code}: ${error.message} 无法获取阁下的位置`);
}
const geoOptions = {
enableHighAccuracy: true,
maximumAge: 30000,
timeout: 27000
};