可以使用基于IP的地理位置,但不是很准确。因此,我建议您考虑采用一种混合方法,例如尝试通过浏览器内的HTML5地理位置API获取用户位置,并在必要时回退到服务器端。
我查看了可用于node.js的两个最常用的geoip /
-location模块,它们都使用MaxMind提供的数据集。AFAIK,您必须手动使这些数据库保持最新状态2,这显然是令人沮丧的。因此,您可以考虑编写一些同步服务/脚本,该服务/脚本每月更新一次数据库。(有关MaxMinds免费解决方案的更多信息,请参见此处)。
kuno/GeoIP是GeoIP绑定,因此它的核心是使用libGeoIP
C库,这可以,但可能不如纯Javascript实现所
bluesmoon/node-geoip提供的可移植性。两者都可以,这取决于您是您更喜欢哪个库。在性能方面,您必须做一些基准测试(如果本主题对您而言很重要)…对于该模块(C绑定/本机)的哪种类型更快,没有普遍的答案。
如果您愿意花一些钱,也可以研究一下MaxMinds Web
Service,它是一个简单的REST
API,将是最精确的方法。该文档非常好–因此入门不会有问题。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)