【发布时间】:2012-10-25 21:13:44
【问题描述】:
我想做的是能够获取用户的 IP 地址并辨别它距我的固定位置大约多少英里。我意识到通过使用服务或数据库,我可以找到城市和邮政编码,但我还想找出用户 ZIP 和我的 ZIP 之间的大致距离。
我看到了一个服务和数据库,可以从用户 IP 获取 Zip/City/Country。我还使用了一些 PHP 类来获取从一个邮政编码到另一个邮政编码的距离。假设我可以使用一个数据库来获取 zip,而另一个数据库来比较两个 zip 之间的距离,但这似乎非常耗费资源(至少 2 个查询加上处理)。
如果用户在 100 英里左右(基于 IP),我只想显示博物馆展览的广告。如果不是,我不会展示它,因为看起来它们离得太远了。
有没有更简单的方法来做到这一点?
另外,我不希望浏览器询问用户是否可以通过使用新的 HTML5 内容在我的应用程序中使用他们的地理位置。我宁愿这一切都在没有基于位置的意识(和用户选择加入)的情况下发生在幕后,除非有压倒性的理由使用它。
我愿意接受任何解决方案,但希望在 PHP/MYSQL/jQuery/Javascript 领域找到一个。
谢谢
【问题讨论】:
-
我的 IP 地址来自我的 ISP 的 DSL,该 ISP 距离酒店有 4 小时车程。永远不对。
-
我的 isp 是国际的,有时我的 ip 查找会显示错误的国家/地区。
-
你的意思是像 ip-tracker.org?你可以筛选一下,或者看看是否有它的 API
-
祝手机用户好运。他们的 IP 总是一些 NAT 网关,可以从字面上远离电话的物理位置数千英里。 IP 是一种非常糟糕的方式来跟踪大量 IP 空间的位置。
-
只有大约 6% 的流量来自移动设备,我已准备好接受这一点。尽管有关 ISP IP 查找数小时后的其他一些问题是一个更大的问题。感谢您的信息。
标签: php javascript mysql geolocation