MaxMind GeoIP City 返回不正确的经纬度
Posted
技术标签:
【中文标题】MaxMind GeoIP City 返回不正确的经纬度【英文标题】:MaxMind GeoIP City Returning Incorrect Lat Longs 【发布时间】:2015-06-12 20:03:55 【问题描述】:我正在尝试使用 MaxMind 来获取基于 IPAddress 的 lat longs。我正在传递我的外部 IP 地址(它在 MaxMind 的网站上显示了正确的位置)。问题是它从 3 个不同城市的 3 个不同用户返回 Latitude = 38 Longitude = -97。它应该是纬度 = ~45 和对数 = ~122。我已经更新了 GeoLite2-City.mmdb 并更新到 MaxMind.Db 和 MaxMind.GeoIP2 的最新版本。
public Location GetLocationFromIpAddress(string ipAddress)
using (var db = new MaxMind.GeoIP2.DatabaseReader(_dbFilePath))
var result = db.City(IPAddress.Parse(ipAddress));
// result.Location.Latitude = 38
// result.Location.Longitude = -97
return new Location
Name = result.MostSpecificSubdivision.Name,
Latitude = result.Location.Latitude,
Longitude = result.Location.Longitude
;
【问题讨论】:
【参考方案1】:我想通了,问题是我使用的是精简版的数据库。当我用完整版测试它时,它给出了正确的经度。
【讨论】:
以上是关于MaxMind GeoIP City 返回不正确的经纬度的主要内容,如果未能解决你的问题,请参考以下文章
GeoIP IPv4 数据库返回不正确的国家代码 - 需要 GeoIP 更新?
MaxMind 的 GeoIP2 java API 线程安全吗?