GEOPOS:获取指定位置的坐标
在使用 GEOADD 命令将位置及其坐标存储到位置集合之后,用户可以使用 GEOPOS 命令去获取给定位置的坐标:
GEOPOS location_set name [name ...]
GEOPOS 命令会返回一个数组作为执行结果,数组中的每个项都与用户给定的位置相对应:第一个数组项记录的就是用户给定的第一个位置的坐标,而第二个数组项记录的则是用户给定的第二个位置的坐标,以此类推。数组中的每个项都包含两个元素,第一个元素是位置的经度,而第二个元素则是位置的纬度。
比如,通过执行以下命令,我们可以从位置集合 Guangdong-cities 中取得清远、广州以及中山这 3 个城市的坐标:
redis> GEOPOS Guangdong-cities Qingyuan Guangzhou Zhongshan
1) 1) "113.20996731519699" -- 清远市的经度
2) "23.593675019671288" -- 清远市的纬度
2) 1) "113.22784155607224" -- 广州市的经度
2) "23.125598202060807" -- 广州市的纬度
3) 1) "113.40603142976761" -- 中山市的经度
2) "22.511156445825442" -- 中山市的纬度
如果用户给定的位置并不存在于位置集合当中,那么 GEOPOS 命令将返回一个空值:
redis> GEOPOS Guangdong-cities Zhaoqing
1) (nil) -- 这个位置集合并未存储肇庆市的坐标