18

我使用 google.loader.ClientLocation 进行了一些测试:

但我的测试为空:

if (google.loader.ClientLocation) 

这是 google 找不到 IP 信息时的行为。

我搜索了 StackOverflow,有很多关于它的问题,但没有好的答案。

我在网上搜索并看到了这两个链接:

这似乎是说应该使用导航器 HTML 地理位置。

Google API 文档不再提及它。

我想确认 Google google.loader.clientlocation 是否仍在工作?

我的代码如下:

<html>
<head>
  <script type="text/javascript" src="http://www.google.com/jsapi"></script>
</head>
<body>
<script type="text/javascript"> 
function geoTest() {

    if (google.loader.ClientLocation) {

        var latitude = google.loader.ClientLocation.latitude;
        var longitude = google.loader.ClientLocation.longitude;
        var city = google.loader.ClientLocation.address.city;
        var country = google.loader.ClientLocation.address.country;
        var country_code = google.loader.ClientLocation.address.country_code;
        var region = google.loader.ClientLocation.address.region;

        var text = 'Your Location<br /><br />Latitude: ' + latitude + '<br />Longitude: ' + longitude + '<br />City: ' + city + '<br />Country: ' + country + '<br />Country Code: ' + country_code + '<br />Region: ' + region;

    } else {

        var text = 'Google was not able to detect your location';

    }

    document.write(text);
}

geoTest();

</script>
</body>
</html>
4

1 回答 1

16

看起来这个 API 有点“弃用”,尽管它仍然适用于某些 IP。

这是我从这里得到的答案:

Loader 中的地理定位功能本身并没有退役。几年前我们停止记录它,并推荐了基于 HTML 的解决方案,因为它们提高了准确性,但目前尚未从加载器中删除该功能本身。谢谢!

因此,当找不到 IP 的位置时,google.loader.ClientLocation 为空

于 2013-01-09T17:59:44.527 回答