最近用qt在做项目,遇到了一个将公网IP地址转换成经纬度的问题,查了相关资料发现**GeoIP**这个库,该库需要在Linux下进行配置,以下是配置过程:
***sudo tar -xzvf GeoIP-1.6.11.tar.gz
cd GeoIP-1.6.11
sudo ./configure
sudo make
sudo make install
sudo ldconfig***
下面是在qt使用GeoIP的小例子:
/*需要包含GeoIP运行的库*/
#include <GeoIP.h>
#include <GeoIPCity.h>
void main()
{
char *geo_city_db = "GeoLiteCity.dat";//需要下载该文件
GeoIP *geo_city = GeoIP_open(路径名,GeoIP_MEMORY_CACHE);//GeoLiteCity.dat的路径名
char *IP = "159.226.135.224";
GeoIPRecord * record = new GeoIPRecod();
record = GeoIP_Record_by_addr(geo_city,IP);
qDebug() << record. longitude;
qDebug() << record. latitude;
}
注意:record除了包含经纬度的信息,还有城市等信息,具体自己可以查看GeoIPRecord结构体的定义。
使用qt将公网IP地址转换成经纬度
最新推荐文章于 2024-07-28 09:26:42 发布