Below you will find pages that utilize the taxonomy term “Lbs”
November 10, 2012
使用mysql来实现lbs(地理位置服务)功能
"\u003cp\u003e现在大型的网站实现的lbs服务基本上是用mongodb的实现定位的(gps不太清楚)。对于小的应用来说,有些大材小用了,而且还大大增加了维护成本。这里用mysql来实现lbs的功能。\u003c/p\u003e\n\u003cp\u003e以下是从“知乎”网上的一篇文章()。\u003c/p\u003e\n\u003cp\u003e数据库设计层面,有两个方案\u003c/p\u003e\n\u003cp\u003e(1)字段主要包括 userId,lat,lng。分别代表用户ID、最近一次 Checkin 的经度、纬度。\nlat/lng 建立复合索引。\u003c/p\u003e\n\u003cp\u003e然后通过手机的定位,得到自己的位置,比如记为 myLat,myLng。\n代码如下,先做一个计算,算出 1km 所对应的经纬度范围:\n**double range = 180 / Math.PI * 1 / 6372.797; **\u003cem\u003e//里面的 1 就代表搜索 1km 之内,单位km\u003c/em\u003e\n\u003cstrong\u003edouble lngR = range / Math.cos(myLat * Math.PI / 180.0);\u003c/strong\u003e\n\u003cstrong\u003edouble maxLat = myLat + range;\u003c/strong\u003e\n\u003cstrong\u003edouble minLat = myLat – range;\u003c/strong\u003e\n\u003cstrong\u003edouble maxLng = myLng + lngR;\u003c/strong\u003e\n\u003cstrong\u003edouble …\u003c/strong\u003e\u003c/p\u003e"