2012-11-01 191 views
0

我想獲得客戶的當前位置使用谷歌的jsapi,但我越來越'谷歌。加載'爲未定義。任何想法爲什麼會發生?下面給出的是我使用的代碼片段。undefined地理位置

$.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); 
}}); 

回答

0

你只是加載http://www.google.com/jsapi這是基本的google庫,你可以使用該庫加載實際谷歌的模塊,例如「ClientLocation」。

使用類似:

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

變化my_library到任何你所需要的。

+0

如果您查看源代碼'ClientLocation'中已經填充了實際的數據。 – TheZ

+0

那麼爲什麼'google.loader'未定義? – Halcyon

+0

未知,該腳本創建'window ['google'] ['loader']',請親自看看:http://www.google.com/jsapi – TheZ

0

今天我有同樣的問題。

如果您使用的是手機瀏覽器,並且瀏覽器已禁用本地化,則api將無法正確加載並引發js錯誤(解析錯誤)。

我已經測試它與iPhone和Android手機。

打開瀏覽器本地化,工作正常!