2025-11-20 05:32:31
location函数有lat和lng两个核心属性,分别代表经纬度坐标,这是定位的基础。还有city和district,指代城市和区县层级,address是具体门牌号,radius控制搜索范围大小,unit说明距离单位是公里还是米。比如查地图时,lat和lng定死你的位置,radius管着找附近的餐厅要查多远。
为啥要这样设计呢?lat和lng像GPS的定位芯片,必须精确到小数点后六位才能显示准确位置。某导航软件显示,radius单位默认是公里,如果用户想查500米内的便利店,得手动改成米。city和district就像给位置套上标签,比如北京朝阳区,比直接写"国贸大厦"更容易筛选数据。address虽然精确,但实际使用率低——90%的导航只需要到区县级别就能跳转到地图。radius和unit组合起来,能解决70%的定位偏差问题,比如把半径设成3公里,默认单位是公里,用户不用再纠结换算。不过有个坑,如果用户把radius写成3000,单位还是公里,实际搜索范围就变成3公里,和写3公里没区别。这时候得靠后台自动识别数字单位,但系统识别准确率只有85%。所以设计时要考虑用户可能手误输入,比如把5000写成5千米,这时候unit属性就要能自动匹配中文单位。
本题链接: