Javascript 如何获取用户的位置?

Javascript 如何获取用户的位置?,javascript,api,geolocation,google-api,Javascript,Api,Geolocation,Google Api,我能够在我的网站上获得用户的IP地址。现在我需要他的国家,城市,地区使用他的IP我得到。。我正在用下面的代码尝试Google的地理定位API <div id="yourinfo"></div> <script type="text/javascript" src="http://www.google.com/jsapi?key=ABQIAAAAp04yNttlQq-7b4aZI_jL5hQYPm-xtd00hTQOC0OXpAMO40FHAxQMnH

我能够在我的网站上获得用户的IP地址。现在我需要他的国家,城市,地区使用他的IP我得到。。我正在用下面的代码尝试Google的地理定位API

    <div id="yourinfo"></div>
    <script type="text/javascript" src="http://www.google.com/jsapi?key=ABQIAAAAp04yNttlQq-7b4aZI_jL5hQYPm-xtd00hTQOC0OXpAMO40FHAxQMnH50uBbWoKVHwgpklyirDEregg"></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>

提前感谢您

如果您愿意使用HTML5,请访问此网站。

在客户端使用此网站:

这对我来说很好


顺便说一句,上面的密钥被阻止了,你必须得到新的密钥。

我的一个朋友告诉我,这个谷歌地理定位api只在美国有效。这是真的吗?有没有其他方法可以通过google api对IP进行地理编码,从而获得xml响应?我只是尝试使用您从google.com导入的api链接,它在中运行良好。可能您在检索脚本时遇到问题(请尝试直接访问API的URL以查看它是否正确返回JS)。另外,根据Google脚本的编写方式,如果您已经定义了
window.Google
,则不会加载脚本(请参阅脚本开头的
if
结构)。此外,geoloc在美国境外工作,因为我在欧洲,得到了一个相当准确的geoloc。希望这能有所帮助。
http://services.ipaddresslabs.com/iplocation/locateip?key=SAK58RWP983694534K4Z&ip=".$ClientIP