谷歌分析-我如何找到一个网站访问者的位置使用Javascript

google analytics - How can I find a web visitors location using Javascript?

本文关键字:访问者 网站 一个 位置 Javascript 何找 谷歌      更新时间:2023-09-26

Google分析能够使用Javascript库找到访问者的位置。如何用Javascript实现这一点呢?

导航器。Geolocation对象是向用户代理请求其位置的方式。根据UA的设置,这可能会或可能不会提示用户允许/拒绝发送数据。此外,地理位置数据本身的精度可能变化很大(不过,它们会给你一个边际或误差,所以你可以考虑这个因素)。

if (navigator.geolocation) {
    navigator.geolocation.getPosition(
        successFunction,
        failureFunction
    );
} else {
    noGeolocationFunction();
};

还有一个watchPosition方法。两者都是异步的,所以您可以传递成功/失败函数来处理返回的对象。

Google有一个用于查询访问者位置的API。使用javascript和Google api自动查找web访问者的位置

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
    <head>
        <title>Get web visitor's location</title>
        <meta name="robots" value="none" />
    </head>
    <body>
    <div id="yourinfo"></div>
    <script type="text/javascript" src="http://www.google.com/jsapi?key=[apikey]"></script>
    <script type="text/javascript">
        if(google.loader.ClientLocation)
        {
            visitor_lat = google.loader.ClientLocation.latitude;
            visitor_lon = google.loader.ClientLocation.longitude;
            visitor_city = google.loader.ClientLocation.address.city;
            visitor_region = google.loader.ClientLocation.address.region;
            visitor_country = google.loader.ClientLocation.address.country;
            visitor_countrycode = google.loader.ClientLocation.address.country_code;
            document.getElementById('yourinfo').innerHTML = '<p>Lat/Lon: ' + visitor_lat + ' / ' + visitor_lon + '</p><p>Location: ' + visitor_city + ', ' + visitor_region + ', ' + visitor_country + ' (' + visitor_countrycode + ')</p>';
        }
        else
        {
            document.getElementById('yourinfo').innerHTML = '<p>Whoops!</p>';
        }
    </script>
    </body>
</html>