我试图为我的网站搜索一个解决方案,让用户输入他们的城市,并根据这一点为他们提供数据(如自定义html与我自己的内容,兴趣点,等等)。例如,如果他们在搜索框中输入“斯德哥尔摩”,它将弹出一个或类似的窗口,以输出与该城市相关的数据。
在开源中有现成的解决方案吗?
感谢所有与此相关的建议。
发布于 2016-09-09 00:33:56
如果您将城市名称与兴趣点数据一起存储,则只需构建一个查找,并与这些城市名称进行匹配,这就是简单的方法。
The Better Way
尝试使用PostGIS (postgres数据库附加组件)或Solr (搜索引擎)进行位置过滤。
如果您正在使用Google Maps获取边界框,则不需要在后端使用任何特别花哨的GIS工具。只需查询数据库中的所有兴趣点:
latitude BETWEEN <SW_lat> AND <NE_lat> AND longitude BETWEEN <NE_long> AND <SW_long>
请注意,边界框是真实城市边界的近似值,并且您将具有国际日期变更线和极点的边界条件。但希望您在那里没有任何POI需要担心。
发布于 2016-09-10 02:20:29
为了实现这一目标,在我看来,您可以使用ElasticSearch进行快速自动完成来获取用户输入并验证它,然后使用精炼的输入来使用您拥有的任何地理编码引擎进行地理编码。
如果您正在寻找一些非常快速的东西,只需使用google免费层地理编码服务端点。
https://stackoverflow.com/questions/39395351
复制相似问题