2

Google アナリティクスは、Javascript ライブラリを使用して訪問者の場所を見つけることができます。Javascriptでこれをどのように達成できますか?

4

2 に答える 2

2

navigator.geolocation オブジェクトは、ユーザー エージェントに場所を尋ねる方法です。UA の設定に応じて、これはユーザーにデータの送信を許可/拒否するように促す場合とそうでない場合があります。また、地理位置情報データ自体の精度は非常に変動する可能性があります (ただし、マージンやエラーが発生するため、それを考慮に入れることができます)。

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

watchPosition メソッドもあります。どちらも非同期であるため、成功/失敗関数を渡して、返されたオブジェクトを処理します。

于 2012-12-26T23:12:24.460 に答える
1

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>
于 2012-12-26T23:24:02.900 に答える