2012-10-19 88 views
3

我可以在我的網站上獲得用戶的IP地址。現在我需要他的國家,城市,用他的IP我得到了區域..我想谷歌的地理位置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> 

真的該代碼是不是爲我工作。它正在執行else部分並顯示哎呀! 如何獲取用戶的地理位置。任何其他的想法讓我知道。

我已經嘗試了下面的代碼,它運行良好,但在免費版本中需要6秒的延遲。後來我才知道谷歌是免費提供這個服務..所以我嘗試了這一點。

http://services.ipaddresslabs.com/iplocation/locateip?key=SAK58RWP983694534K4Z&ip=".$ClientIP 

預先感謝您

+0

我的一個炸我告訴我,這個Google地理定位API只能在美國工作。這是真的嗎? –

+0

是否有任何其他方式地理編碼與谷歌API的IP我應該得到XML響應。 –

+0

我剛剛嘗試使用從google.com導入的API鏈接,並且它在[this jsFiddle](http://jsfiddle.net/nErrt/)中運行良好。也許你在檢索腳本時遇到問題(嘗試直接訪問API的URL以查看它是否正確地返回JS)。另外,根據Google腳本的編寫方式,如果您已經定義了'window.google',那麼腳本將無法加載(請參閱腳本開頭處的if結構)。另外,geoloc在美國以外工作,因爲我在歐洲,並且擁有非常準確的geoloc。希望這可以幫助。 –

回答