【问题标题】:how to do location based search如何进行基于位置的搜索
【发布时间】:2009-03-05 15:58:20
【问题描述】:

我需要开发一种解决方案,让用户能够根据城市和州进行搜索。用户应该能够请求搜索结果不仅包括该城市和州的匹配项,还包括 25、50、100 英里半径范围内的匹配项。我看到工作网站做这种事情。这是如何完成的?是否有供应商为其提供开放 API?

谢谢

【问题讨论】:

    标签: .net geolocation


    【解决方案1】:

    您正在寻找的似乎是一个 GIS(地理信息系统),其中每条(或部分)信息都与其地理位置相关联。这样的系统允许对那些地理位置执行空间搜索,例如。 “给我这个位置 5 英里半径范围内的所有商店,这些商店销售特定产品”(也可以结合空间搜索和传统搜索)。

    现在您可以使用一些技术示例:

    1. PostgreSQL + Postgis:这种数据库和地理扩展的开源组合足以满足大多数基本用户需求。 You can start from here
    2. MySql Spatial
    3. Oracle Spatial
    4. ArcSde (ESRI)

    【讨论】:

      【解决方案2】:

      您需要从包含城市、州和邮政编码及其相应纬度和经度的数据库开始。 Here's a link 到一个可以免费下载此类数据库的站点。

      接下来,您需要一种算法来查找在用户输入的城市/邮编 X 英里半径范围内的城市/邮编。 Here's another link 应该解释如何做到这一点。

      【讨论】:

      • 当然,这些数据库价格不菲,因为它是如此宝贵的商品......
      • 如果您想要最新最好的最新版本,那么可以。但您通常可以免费找到 99% 完整的旧数据库。
      • Eric,我无法访问您的第二个链接
      【解决方案3】:

      你可能想看看GeoNames

      我为 GeoNames 编写了一个 .NET WCF 客户端,可用 here

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2011-01-03
        • 2010-12-29
        • 1970-01-01
        • 2011-04-14
        • 1970-01-01
        • 2023-03-19
        • 1970-01-01
        相关资源
        最近更新 更多