我有一个用户登录时收集用户IP地址的网络应用程序,我想把所有收集到的IP地址转移到一张地图上,该地图会显示我国内有一个或多个用户插入的地址 例如:假设我们在数据库中有以下ip地址 xx.ee.rr.tt =美国 cc.ee.ww.aa =英国
我需要一张美国和英国的针脚世界地图
答案 0 :(得分:1)
有一些将IP映射到国家(或国家IP块)的好例子。
以下是free restful API service您可以致电执行此操作 - 每小时限制为10k次查询。
如果你想在本地复制和运行代码并绕过这个10k约束或加快速度,它们就在GitHub上。
以下是我的IP地址查询的示例输出(我会掩盖它,但你会得到这个想法)
IP 198.70.xxx.xxx
Country United States
Region Ohio
City Xxxxx
Latitude and Longitude 4x.xxx -8x.xxx
Area and Metro codes 330 -
这是关于使用WSIP2Country服务的CodeProject文章。 (如果你走这条路线,请注意不推荐使用GetCountryCode方法并建议使用GetCountryCodeAuth - 请参阅文章末尾的注释。)
如果您只是尝试从IP地址派生位置,则此方法有效 - 根据您的评论,您还需要执行下一步并将其固定到地图上。有一些很好的方法可以将谷歌地图纳入其中。
This site's许多人已经非常成功地使用了IP Mapper方法/代码(它自夸:“谷歌地图上的异步地理编码IP地址”)。他们可以在示例代码中添加IP地址列表:
var ipArray = ["111.111.111.111", "222.222.222.222", "123.123.123.123"];
IPMapper.addIPArray(ipArray);
他们使用Google地图API,因此如果您想要任何特别的内容,您应该可以使用Google Map API docs作为指南来修改其JavaScript代码。