使用javascript获取网站访问者的地理位置

为了某种需求,有时候需要获取网站访问者的地理位置。现在有两种可选的方式: 使用地理位置 API IP 地址查找 Geolocation API 地理位置API是HTML5的一个功能,允许向用户发送请求获取地理位置的提醒,如果用户同意,则可以获取用户地理位置。 显然,如果用户不同意,则不能获取用户的地理位置。 if ("geolocation" in navigator) { // 检查对当前的浏览器geolocation是支持/禁用 navigator.geolocation.getCurrentPosition( function success(position) { // 当获取位置成功时运行此函数 console.log('latitude', position.coords.latitude, 'longitude', position.coords.longitude); }, function error(error_message) { // 当获取位置出现错误时运行此函数 console.error('An error has occured while retrieving location', error_message) } }); } else { // geolocation 不支持 // 通过其他方式获取地理位置 console.log('geolocation is not enabled on this browser') } 缺点:这种方式只在使用https的网站上可以用。不支持IE10及以下,或者 OperaMini。 这种方式只能获取到地理坐标。如果我们想要获取实际对应的地理位置,我们就需要使用 IP 地址查找。 IP 地址查找 IP地址查找包括:IP Geolocation API, IPinfo还有GEOIP DB。这些API提供的数据类型如:JSON, XML 还有 CSV。如果想获取关于这些API的更多知识,可以查看相关文档。 这里我们使用 IP Geolocation API,并且使用jQuery库。...

September 7, 2019 · 2 min