2011-11-22 178 views
1

因此,我有這個網站,我需要地理定位訪問者的位置。使用谷歌地理定位API的地理位置

我看到在谷歌代碼驗證碼:

<script type="text/javascript" src="gears_init.js"></script> 
<script type="text/javascript"> 
var geo = google.gears.factory.create('beta.geolocation'); 

function updatePosition(position) { 
    alert('Current lat/lon is: ' + position.latitude + ',' + position.longitude); 
} 

function handleError(positionError) { 
    alert('Attempt to get location failed: ' + positionError.message); 
} 

geo.getCurrentPosition(updatePosition, handleError); 
</script> 

似乎差不多就是我需要的,但我必須知道訪問者是附近城市X,或者如果它更接近市丫丫

什麼辦法,我可以做到這一點?

回答

2

找到用戶的位置後,您需要執行反向地理定位(請參閱here)。然後,您可以使用返回結果的「城市」字段查看Google放置該用戶的位置。
如果您想提出建議,也可以通過HTML5的navigator.geolocation對象實現訪問者的地理位置,並且使用此對象還可以爲使用其他未安裝Google雲端硬盤的瀏覽器的訪問者提供服務。

+0

HTML5的問題在於,如果用戶不同意,則會彈出一個請求以允許用戶進行地理位置定位在給出他目前的位置時,它破壞了地理定位的目的。 這些橫幅有時會顯示我的城市或我附近的城市?它是否與IP位置? – Souza

+0

我認爲谷歌齒輪也會要求用戶的許可(這是非常侵入性的,它不)。如果你想要基於IP的地理位置,你需要另一個服務(谷歌不提供這個)。以http://www.maxmind.com/app/geolitecity爲例。請注意,還有很多其他的。 –