@@ -2201,6 +2201,67 @@ public RedisPipelineCommand CreatePipelineCommand()
22012201
22022202 #endregion
22032203
2204+ #region GEO Operations
2205+
2206+ public long GeoAdd ( string key , double longitude , double latitude , string member )
2207+ {
2208+ if ( key == null )
2209+ throw new ArgumentNullException ( "key" ) ;
2210+ if ( key == null )
2211+ throw new ArgumentNullException ( "member" ) ;
2212+
2213+ return SendExpectLong ( Commands . GeoAdd , key . ToUtf8Bytes ( ) , longitude . ToUtf8Bytes ( ) , latitude . ToUtf8Bytes ( ) , member . ToUtf8Bytes ( ) ) ;
2214+ }
2215+
2216+ public long GeoAdd ( string key , RedisGeo [ ] geoPoints )
2217+ {
2218+ throw new NotImplementedException ( ) ;
2219+ }
2220+
2221+ public double GeoDist ( string key , string fromMember , string toMember , string unit = null )
2222+ {
2223+ throw new NotImplementedException ( ) ;
2224+ }
2225+
2226+ public byte [ ] [ ] GeoHash ( string key , params string [ ] members )
2227+ {
2228+ throw new NotImplementedException ( ) ;
2229+ }
2230+
2231+ public List < RedisGeo > GeoPos ( string key , params string [ ] members )
2232+ {
2233+ var cmdWithArgs = MergeCommandWithArgs ( Commands . GeoPos , key . ToUtf8Bytes ( ) , members . Map ( x => x . ToUtf8Bytes ( ) ) . ToArray ( ) ) ;
2234+ var data = SendExpectComplexResponse ( cmdWithArgs ) ;
2235+ var to = new List < RedisGeo > ( ) ;
2236+
2237+ for ( var i = 0 ; i < members . Length ; i ++ )
2238+ {
2239+ var entry = data . Children [ i ] ;
2240+ to . Add ( new RedisGeo
2241+ {
2242+ Longitude = double . Parse ( entry . Children [ 0 ] . Data . FromUtf8Bytes ( ) ) ,
2243+ Latitude = double . Parse ( entry . Children [ 1 ] . Data . FromUtf8Bytes ( ) ) ,
2244+ Member = members [ i ] ,
2245+ } ) ;
2246+ }
2247+
2248+ return to ;
2249+ }
2250+
2251+ public List < RedisGeoResult > GeoRadius ( string key , double longitude , double latitude , double radius ,
2252+ string unit = null , bool withCoords = false , bool withHash = false , int count = 0 , bool ? asc = null )
2253+ {
2254+ throw new NotImplementedException ( ) ;
2255+ }
2256+
2257+ public List < RedisGeoResult > GeoRadiusByMember ( string key , double longitude , double latitude , double radius ,
2258+ string unit = null , bool withCoords = false , bool withHash = false , int count = 0 , bool ? asc = null )
2259+ {
2260+ throw new NotImplementedException ( ) ;
2261+ }
2262+
2263+ #endregion
2264+
22042265 internal bool IsDisposed { get ; set ; }
22052266
22062267 public bool IsManagedClient
0 commit comments