来自IP地址的经度和纬度值

时间:2010-04-18 18:25:30

标签: asp.net geolocation latitude-longitude

是否可以从asp.net的IP地址获取经度和纬度值? 如果有可能,请告诉我如何才能得到这个。

6 个答案:

答案 0 :(得分:33)

MaxMind Geolite city是免费的。如果不够好,您显然可以升级到更准确的付费版本。我不能说付费版本的质量,因为我从未使用它。

如果您喜欢SQL,请下载CSV version。将其加载到您选择的数据库中,然后查询。

更快,更节省空间的选项是同一数据库的download the file binary blob version,然后使用the C# class进行查询。

或者,我发现ipinfodb.com有用。查询是通过简单的HTTP GET进行的。例如,要对stackoverflow.com进行地理定位尝试:

http://ipinfodb.com/ip_query.php?timezone=false&ip=69.59.196.211

这将返回包含纬度和经度的XML文件,如下所示:

<Response>
  <Ip>69.59.196.211</Ip>
  <Status>OK</Status>
  <CountryCode>US</CountryCode>
  <CountryName>United States</CountryName>
  <RegionCode>41</RegionCode>
  <RegionName>Oregon</RegionName>
  <City>Corvallis</City>
  <ZipPostalCode>97333</ZipPostalCode>
  <Latitude>44.4698</Latitude>
  <Longitude>-123.343</Longitude>
</Response>

http://forum.ipinfodb.com/viewtopic.php?f=7&t=269

提供了一些VB.NET示例代码

答案 1 :(得分:2)

您可以使用以下服务: http://freegeoip.appspot.com/

这不完全准确。

Here是使用ASP.Net消费服务的教程。

答案 2 :(得分:2)

尝试IPInfoDB,据我所知,这是免费的。

它们提供可下载的数据库,但最简单的解决方案似乎是XML API。提供的示例是针对php的,但我确信它与ASP.Net同样可以访问。

答案 3 :(得分:1)

http://www.iptolatlng.com/对我很有用,因为它为我提供了我正在处理的这个应用所需的JSON输出原始数据。

答案 4 :(得分:0)

还有另一个:http://www.hostip.info/index.html

它有一个api,你可能会对它有所了解。

答案 5 :(得分:0)

如果您尝试通过javascript客户端访问您的位置,那么HTML 5提供的地理位置API非常有用。

if(navigator.geolocation){             
    navigator.geolocation.getCurrentPosition(geoLocationSuccess, geoLocationError);
}

geoLocationSuccess和geoLocationError分别是成功和错误的回调。

function geoLocationSuccess(position){
    alert('lat: ' + position.coords.latitude + ', lon: ' + position.coords.longitude);
}