未定义的地理位置

时间:2012-11-01 16:32:01

标签: javascript jquery google-maps google-maps-api-3 geolocation

我正在尝试使用google的jsapi获取客户端的当前位置,但我将'google.loader'视为未定义。不知道为什么会发生这种情况?以下是我使用的代码片段。

$.getScript('http://www.google.com/jsapi', function() 
{
if(google.loader.ClientLocation) {
var visitor_lat = google.loader.ClientLocation.latitude;
var visitor_lon = google.loader.ClientLocation.longitude;
var visitor_city = google.loader.ClientLocation.address.city;
var visitor_region = google.loader.ClientLocation.address.region;
var visitor_country = google.loader.ClientLocation.address.country;
var visitor_countrycode = google.loader.ClientLocation.address.country_code;
console.log("Your location is: " + visitor_country);
}});

2 个答案:

答案 0 :(得分:0)

您只需加载http://www.google.com/jsapi这是基本的google库,您可以使用该库加载实际的Google模块,例如' ClientLocation'。

使用类似:

google.load("my_library", function () {
    google.my_library; // is not available
}

my_library更改为您需要的任何内容。

答案 1 :(得分:0)

我今天遇到了同样的问题。

如果您使用的是手机浏览器,并且如果您为浏览器禁用了本地化,则api无法正确加载并抛出js错误(解析错误)。

我用iphone和Android手机测试了它。

启用浏览器的本地化并正常运行!