google.loader.clientlocation 是否仍受支持

我使用 google.loader.ClientLocation 做了一些测试,来自:

I have made some tests using google.loader.ClientLocation from:

  • http://www.google.com/jsapi

但我的测试结果为 null:

But I get null for the test:

if (google.loader.ClientLocation) 

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

This is the behaviour when google does not find information for IP.

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

I searched StackOverflow and there are a lot of questions regarding it but no good answers.

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

I searched the net and saw these 2 links:

  • https://groups.google.com/forum/?fromgroups=#!topic/google-ajax-search-api/8q_oG-Y9fp8
  • http://code.google.com/p/google-ajax-apis/issues/detail?id=586
  • https://groups.google.com/forum/?fromgroups=#!topic/google-ajax-search-api/rzoIh4RrtOQ

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

Which seem to say the navigator HTML geo location should be used.

Google API 文档不再提及.

Google API documentation does not mention it anymore.

我想确认 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>

推荐答案

这个 API 似乎有点弃用",尽管它仍然适用于某些 IP.

It seems this API is kind of "deprecated" although it still works for some IPs.

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

This is the answer I got from here:

  • http://code.google.com/p/google-ajax-apis/issues/detail?id=586

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

The geolocation functionality in the Loader hasn't been retired, per se. We stopped documenting it several years ago and have recommended the HTML-based solutions due to their improved accuracy, but the functionality itself has not been removed from the Loader at this time. Thanks!

所以当没有为 IP 找到位置时,google.loader.ClientLocation 为空

So when location is not found for IP, google.loader.ClientLocation is null

相关文章