查找周边的、附近的餐馆 的实现
[下载]php java javascript 相关 api 手册的下载
首先,你肯定有的数据包括:
1. 所有餐馆的信息,所有餐馆的经纬度信息
2. 当前位置的经纬度信息
那么‘查找周边的餐馆’实现无非两个路子
1. 先用query关键词过滤所有餐馆,对过滤后的餐馆再用经纬度过滤一下
2. 先用经纬度过滤所有餐馆,再在结果中搜索query
这两种方案完全取决于你的数据量了
用经纬度过滤,需要计算餐馆到当前位置的距离,计算的方法有几种,可以参考 http://www.nsshutdown.com/projects/lucene/whitepaper/locallucene_v2.html
1. 以当前位置为中心,向4面扩展,画出一个方框
2. Cartesian Grid ,通过一些列复杂的公式计算距离
其实比较好的方式我觉得是用上面链接中说到的Cartesian Grid 的方法
就是在经纬度的地图上画方格子(棋盘格),这样每个格子就是一个经纬度的范围,以格子的编号为索引id,就把餐馆索引到格子上就ok了。剩下的您也知道,每次就计算周边的格子编号就ok,只不过这样计算的话“周边”的值不十分准确,不过依然可以接受
[本日志由 80x86 于 2010-02-02 06:51 PM 编辑]
Tags:
Tags: 评论: 0 | 引用: 0 | 查看次数: 218
发表评论
你没有权限发表评论!请先注册再评论:点击注册
上一篇
下一篇