有人能够使用Google Maps API v3 JavaScript基于IP获取地理位置吗?
在我看来,即使是谷歌提供的示例也无法正常工作。
http://gmaps-samples-v3.googlecode.com/svn/trunk/commonloader/clientlocation.html
问题:
这个例子对于任何人都有效吗?
如何使用Google Maps API v3基于一个人的IP获取地理位置?
有人能够使用Google Maps API v3 JavaScript基于IP获取地理位置吗?
在我看来,即使是谷歌提供的示例也无法正常工作。
http://gmaps-samples-v3.googlecode.com/svn/trunk/commonloader/clientlocation.html
问题:
这个例子对于任何人都有效吗?
如何使用Google Maps API v3基于一个人的IP获取地理位置?
Q1: 这个功能在这里以及其他很多地方都可以使用。但是请注意,通过IP地址进行地理定位并不是非常可靠的科学。您将获得您的ISP的位置,这可能相当遥远,此外,IP到位置数据库并不总是更新到最新更改,因此您可能没有特定IP地址的任何数据-这可能就是发生在您身上的情况。
MaxMind提供了一个流行的IP到位置数据库,并发布了一些关于其数据库的统计数据:
Q2: 通过Google Maps API v3从IP地址获取地理位置的唯一方法是使用您提供的示例中使用的相同方法。但是,如果您发现任何其他地理位置数据库(例如MaxMind GeoLite City)对于您的国家更准确,则可能希望自己从IP地址进行地理定位,而不是委托给Google Maps。
$.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 -H "Content-Type: application/json" -X POST -d '{"considerIp": true}' https://www.googleapis.com/geolocation/v1/geolocate?key=YOUR-API-KEY