我已经编写了代码,可以根据 IP 地址为我提供用户的地理位置。但是当我当时将我的电脑与 USBModem 连接时,它显示错误的位置。
string apiKey = System.Configuration.ConfigurationManager.AppSettings["ipInfoDbKey"];
string url = "http://api.ipinfodb.com/v3/ip-city/?ip={0}&key=" + apiKey;
//string url = "http://ipinfodb.com/ip_query.php?ip={0}&timezone=false";
url = String.Format(url, ip);
var result = XDocument.Load(url);
var location = (from x in result.Descendants("Response")
select new LocationInfo
{
City = (string)x.Element("City"),
RegionName = (string)x.Element("RegionName"),
Country = (string)x.Element("CountryName"),
ZipPostalCode = (string)x.Element("CountryName"),
Position = new LatLong
{
Lat = (float)x.Element("Latitude"),
Long = (float)x.Element("Longitude")
}
}).First();
return location;
我已经围绕 IpAddress 做了一些工作。我注意到一件事,当我连接任何 USBModem 时,它需要调制解调器 IP 地址而不是我的 pc。你能告诉我当 pc 使用 PC IP 地址连接到调制解调器时如何获取地理位置吗?