This topic created in 4966 days ago, the information mentioned may be changed or developed.
接下来有个项目要开发个app来获取用户周边的特定POI信息,各POI坐标已经存入数据库
现在的疑问就是譬如我拿到用户当前坐标,我是把用户的坐标传回服务器计算取得周边POI呢,还是其他方式实现?如果是将坐标传回服务器计算,那么服务器上用java来计算是不是更方便?NodeJS能做到么?不考虑ruby/python。。。
近期写php写晕了,一下脑筋转不过弯来,所以请教一下大家。
THX!
2 replies 1970-01-01 08:00:00 +08:00  | | 1 lnsoso Oct 8, 2012 1 1、要想取得周边的 POI 必须要在服务器端计算,你总不能把所有 POI 都放在 App 里吧?当然可以缓存少量重要 POI。 2、服务器上有多种方式可以计算,既然你用 PHP 下面就给你一段 MySQL 的,当然实际为了效率线上不会用这个。
latitude、longitude 为数据库字段;$lat、$lon 为 PHP 里用户当前坐标;{NUMBER OF KILOMETERS} 为周边范围(千米);数据表名 location_table。
SELECT D.*, DEGREES(acos(cos(RADIANS(90-latitude))*cos(RADIANS(90-$lat))+sin(RADIANS(90-latitude))*sin(RADIANS(90-$lat))*cos(RADIANS(longitude-$lon))))/360*40074 AS distance FROM location_table as D HAVING distance <= {NUMBER OF KILOMETERS} |