HTML根据地址/城市搜索地点

时间:2016-09-08 15:49:46

标签: javascript html5 search popup

我试图为我的网站搜索一个解决方案,让用户输入他们的城市,然后根据它提供数据(比如我自己的内容,兴趣点等的自定义html)。例如,如果他们写"斯德哥尔摩"在搜索框中,它会弹出一个或类似的输出与该城市相关的数据。

在开源中是否有现成的解决方案?

感谢您提供与此相关的所有建议。

2 个答案:

答案 0 :(得分:0)

轻松的方式如果您使用您的兴趣点数据存储城市名称,只需构建一个查找,并匹配这些城市名称。

更好的方式

  1. 存储您所有兴趣点的纬度/经度(在数据库中或 在搜索引擎中)。
  2. 使用外部地理编码API(如Google MapsOpenStreetMap)为预先控制提供动力。
  3. 一旦用户选择了预先输入建议,请捕获 边界框(Google),或者如果需要,可以是整个多边形 来自地理编码API的(OpenStreetMap)并使用它来搜索 您的POI在边界内。
  4. 尝试PostGIS(postgres数据库插件)或Solr(搜索引擎)进行位置过滤。

    如果您使用Google地图获取边界框,则后端不需要任何特别奇特的GIS工具。只需查询您的数据库中的所有兴趣点:

    latitude BETWEEN <SW_lat> AND <NE_lat> AND longitude BETWEEN <NE_long> AND <SW_long>

    请注意,边界框是真实城市边界的近似值,并且您将在国际日期线和波兰人处拥有边界条件......但希望您没有任何POI需要担心。

答案 1 :(得分:0)

为了实现这一目标,我认为您可以使用ElasticSearch进行快速自动完成以获取用户输入并对其进行验证,然后使用精炼的输入来使用您拥有的任何地理编码引擎进行地理编码。

如果您正在寻找非常快速的内容,请使用Google免费套餐地理编码服务终端。