将用户注册到都市区域

时间:2012-12-31 16:16:02

标签: html node.js location user-experience ip-geolocation

我必须将注册到我网站的所有用户分组到都市区。地铁区域的位置接近世界上人口最多的100个城市之一。

在我提出的解决方案中,将向用户显示2个下拉菜单。一个用于国家,一个用于城市。这似乎是最好的用户体验。 我还在考虑使用html5浏览器位置API预先选择下拉列表中的某些位置。

之前有没有人做过类似的事情,你是怎么做到的?

子问题:您将如何存储此数据

2 个答案:

答案 0 :(得分:1)

ip-geolocation通常不是非常精确。

我会强制用户输入country,city和zip。

使用浏览器位置api中的数据预填表单。

在数据库中,我会存储country,city,zip和lat long。

使用谷歌地理编码器API查找匹配的城市+拉链由lat long和backword非常容易。 https://developers.google.com/maps/documentation/geocoding/

然后你只需要大城市的lat long值来搜索区域。 Easyes是在squre中搜索而不是在圈子中搜索。但是,如果你真的需要一个cirty,你必须使用具有gis功能的数据库。 http://postgis.refractions.net/

答案 1 :(得分:0)

我不会使用地理位置。它在所有浏览器中并不总是相同,并不总是对每种情况都可靠。

我做了类似的事情,我使用了区号。一些大都市区有重叠的区号,但如果你使用大都市区的主要区号,你可以找到一个很好的方法来攻击它。有些州只有几个主要的区号......有些州的面积要高得多,但是你知道区域代码越多,该区域就越多(通常)。附加到都市区的区号可以用作确定人口众多城市的另一个因素。

大多数用户可能不想提供城市或邮编,但会在注册时提供区号。您可以将区域代码分配给州和区域代码到城域。

如果你决定以这种方式接近它作为额外的价值,这张地图应该会有所帮助 http://www.nanpa.com/area_code_maps/ac_map_static.html