将网站划分为城市/国家的最佳方法?

| 我正在运行一个约会网站,或者最好说,尝试。我想成为普通人 尽可能地覆盖国家/地区。 由于这是一个面向本地约会的网站,因此我必须跟踪城市 等等,所以我遇到了一些问题: 我需要有关城市的信息,人们可以从 (一个我一无所知的国家,我真的无法决定一个城市 或任何东西) 当人们来自不同的国家时,他们希望看到人们 在附近。您将如何处理此类问题? 这似乎是两个简单的要点,但它们确实使我感到有些麻烦 天。 **尝试将它们视为与数据库相关的问题** 我在SE上转了一圈,发现这是最好的要问的问题,而不是其他任何问题 SE网站。 非常感谢你     
已邀请:
美国一个城市的全名是{country_name,state_name,city_name}。我说,假设在全球范围内,我所说的state_name不是唯一的。我可以轻松想象一个拉丁美洲国家的某个区域被命名为“内华达州”或“科罗拉多州”。 您还遇到拼写问题。一个住在德国的美国人可能会说她住在德国北莱茵-威斯特法伦州的科隆。居住在那里的德国人将其称为“科隆”。 “附近”是更难破解的螺母。我曾经住在一个大城市。在州际公路上开车一个小时接我的约会并不稀奇。我认为这是“附近”。现在我住在一个小城市。现在30分钟似乎很漫长,但可能只有15或20英里,而不是65或70英里。 如果您住在边境城镇,则可能在另一个国家有15英里。也许是两个不同的国家。 我认为您最好的选择是使用地理位置API或服务来获取插入新城市时的经度和纬度。给定两个点的距离的计算很简单,但是除非使用边界框,否则它会导致查询性能下降。 (您不想计算到德克萨斯州每个城市的距离以找到“接近”韦科的人。)     
获取所有城市的纬度/经度。不用担心确切的距离。 用excel玩,找到给定距离(10英里,25英里,50英里)的纬度和/或经度(Δlat或Δlong)的最大变化,然后当您搜索其他距离时,只需在数据库中搜索(Firstuser \ sLongitude +/-Δlong)和在(Firstuser'sLatitude +/-Δlong)之内。 我认为人们不会介意10英里和10 * 2 ^ 0.5英里之间的差异。     

要回复问题请先登录注册