35

是否可以从asp.net中的IP地址获取经度和纬度值?如果可能的话,请让我知道我怎样才能得到这个。

4

6 回答 6

33

MaxMind Geolite 城市是免费的。如果它不够好,您显然可以升级到更准确的付费版本。我无法评价付费版本的质量,因为我从未使用过它。

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

更快、更节省空间的选择是下载同一个数据库的文件二进制 blob 版本,然后使用C# 类进行查询。

或者,我发现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>

一些 VB.NET 示例代码可在http://forum.ipinfodb.com/viewtopic.php?f=7&t=269获得

于 2010-04-20T06:14:50.527 回答
2

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

它不会完全准确。

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

于 2010-04-18T18:32:03.370 回答
2

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

他们提供可下载的数据库,但最简单的解决方案似乎是 XML api。提供的示例适用于 php,但我确信它同样可以通过 ASP.Net 访问。

于 2010-04-20T08:51:41.843 回答
1

http://www.iptolatlng.com/对我来说效果很好,因为它为我提供了我正在开发的这个应用程序所需的 JSON 输出。

于 2013-10-11T19:58:06.110 回答
0

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

它有一个 api,可能对你来说很有趣。

于 2013-02-21T12:58:57.703 回答
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);
}
于 2014-03-10T05:12:00.020 回答