任何人都可以使用Google Maps API v3 JavaScript根據個人的IP獲取地理位置信息嗎?Google Maps API v3 - 基於IP的地理位置
在我看來,即使谷歌提供的例子不起作用。
http://gmaps-samples-v3.googlecode.com/svn/trunk/commonloader/clientlocation.html
問題:
是否任何人這個例子的工作?
如何根據個人的IP使用Google Maps API v3獲取地理位置信息?
任何人都可以使用Google Maps API v3 JavaScript根據個人的IP獲取地理位置信息嗎?Google Maps API v3 - 基於IP的地理位置
在我看來,即使谷歌提供的例子不起作用。
http://gmaps-samples-v3.googlecode.com/svn/trunk/commonloader/clientlocation.html
問題:
是否任何人這個例子的工作?
如何根據個人的IP使用Google Maps API v3獲取地理位置信息?
Q1:它可以在這裏工作,也可能來自其他許多地方。但請注意,來自IP地址的地理位置不是一門非常可靠的科學。您將獲得ISP的位置,這可能相當遙遠,此外,IP到位置數據庫並不總是與最新更改保持一致,因此您可能沒有任何特定IP的數據地址 - 這可能是你的情況發生了什麼。
的MaxMind,它提供了公佈其數據庫的一些統計數據的流行的IP到位置數據庫:
Q2:只有這樣,才能從IP獲取地理位置通過Google Maps API v3的地址是使用example you provided中使用的相同方法。但是,如果您發現其他地理位置數據庫(如MaxMind GeoLite City)對您的國家/地區更爲準確,則可能需要自己執行IP地址的地理定位,而不是將其委派給Google地圖。
網絡Google Maps API似乎沒有提供IP地址地理定位服務(提供的example建議使用W3C地理定位標準,通常需要用戶採取措施)。
但是!谷歌的Maps Geolocation API,通常在移動客戶端使用,可以可以從網站使用與確實返回基於請求的客戶端的IP地址緯度經度&。
下面是一個簡單的jQuery的例子,演示了它的用法:
$.ajax({
url: 'https://www.googleapis.com/geolocation/v1/geolocate?key=YOUR-API-KEY',
data: JSON.stringify({ "considerIp": "true" }),
type: 'POST',
contentType: 'application/json',
success: function(data) {
if(data.location) {
alert(data.location.lat + ', ' + data.location.lng);
} else {
alert('not found');
}
}
});
這裏是curl
相當於:
curl -H "Content-Type: application/json" -X POST -d '{"considerIp": true}' https://www.googleapis.com/geolocation/v1/geolocate?key=YOUR-API-KEY
不要忘了在真實的API密鑰交換的例子上方和enable the Geolocation API用於您的Google API項目。
你有沒有機會提供一個html例子? – 2017-11-01 15:39:17
@RoccoTheTaco:這是[示例](http://jsbin.com/fiberadufu/1/edit?HTML,控制檯,輸出)使用與上面相同的代碼。您需要設置'GOOGLE_API_KEY'變量,否則這將不起作用(轉到Google API控制檯,創建新項目,啓用地理定位API並獲取API密鑰)。 – 2017-11-01 20:00:22
查看Google地圖網站中的[示例](https://developers.google.com/maps/documentation/javascript/geolocation)。 – Jaime 2017-11-28 03:10:11
作品也來自這裏。可能你的(OP)位置不在數據庫中。 – dusoft 2010-01-18 09:44:58
對我來說也很好(城市級別)。 – 2010-01-18 17:03:03