gpt4 book ai didi

php - 使用 PHP/MySQL 和可选的 JavaScript 配置位置信息

转载 作者:行者123 更新时间:2023-11-29 04:03:15 25 4
gpt4 key购买 nike

我工作的其中一个网站是某种社交网站,通过使用某种定位服务根据距离推荐“ friend ”,内容会大大增强。该网站专注于美国,但潜在用户遍布全局。

我考虑过创建一个包含国家、州/省/地区、县和城市的关联数组或关系数据库,以提供一种粗略的方法来深入了解它们的相对接近度,但这可能非常笨拙且很快就会变得复杂.

我也考虑过 IP 地理定位,但结果往往不可靠(某些服务显示我公司的 IP 位于东北约 600 英里处),我至少需要某种回退方式来查找,例如, 邮政编码。

你能告诉我一个明确定义的方法来有效地本地进行这种查找,而不使用第 3 方 API,最好至少引用一下在哪里首先收集基本信息?我目前正在运行 PHP 5.3.2 和 MySQL 5.1.44,如果有任何区别的话。

谢谢!

编辑:添加了赏金以尝试获得更好的想法或其他处理问题的方法,也许更有效。事实上,由于巨大的数据库大小而导致的加载时间是疯狂的。我认为我确实需要改进我的缓存,但我正在尝试查看是否有任何我应该做的关于改进我的定位系统的事情。

最佳答案

这可能有点明显……但您可以以最佳准确度了解用户位置的唯一方法是:

询问用户他们在哪里!

一旦您询问了用户他们在哪里,您就可以使用第三方应用程序计算出距离。如果您不想像您提到的问题那样使用任何第三方应用程序,那么您可以下载一个 Geo 数据库并将其集成到您自己的服务中。

我使用的来源是 Yahoo Geo Planet。

您可以下载 TSV 格式的完整 GeoPlanet 数据文件。当我下载它时,我只是使用 mysqlimport 将它导入到 mysql。

http://developer.yahoo.com/geo/geoplanet/data/

它包含世界上每个不同地理位置的记录。大量的邮政编码、地区、地区、国家,几乎是您需要的一切。

除此之外,它还包含邻居,因此您可以根据靠近的地理区域进行查询。

关于php - 使用 PHP/MySQL 和可选的 JavaScript 配置位置信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7167158/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com