用java根据IP定位城市比较准,可以到村的库

为了实现用户数字账单功能,需要进行地理位置定位。文章介绍了如何使用GEOIP2库来准确地根据IP地址定位到城市,甚至细化到村庄级别。提供了库的下载链接供开发者参考。
摘要由CSDN通过智能技术生成

为了做用户数字账单,不得不定位一下城市。因为客户遍布全球,不太容易兼容。国内的接口都是大陆范围,经过探索找到了一个好库。GEOIP2,链接放底部了。下面是主要调用函数,大家用的时候参考吧。

/**
	 * 根据ip获取国际城市的经纬度和名称等信息
	 * @param ip
	 * @return JSONObject {'city':'美国纽约',x:120.3,y:128.4}
	 * @throws IOException
	 * @throws GeoIp2Exception
	 */
	public static JSONObject getCityInfoByIPGlobal(String ip) throws IOException, GeoIp2Exception {
		JSONObject cityInfo = new JSONObject();
		if(IPUtils.ipIsInner(ip)) {
			 cityInfo.put("city", "北京");
			 cityInfo.put("x",2);//Long
			 cityInfo.put("y", 6);//Lat
		}else {
//		try {
//			JSONObject c1 = getCity(ip);
//			String city = c1.getJSONObject("address_detail").getString("province")+c1.getJSONObject("address_detail").getString("city");
//			 cityInfo.put("city", city);
//			 cityInfo.put("x",c1.getJSONObject("point").getDoubl
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值