Beispiel #1
0
        /// <summary>
        /// 指定された矩形範囲に含まれるオブジェクトの取得を行います。
        /// </summary>
        /// <param name="key">  フィールド名</param>
        /// <param name="southwest">  左下(南西)</param>
        /// <param name="northeast">  右上(北東)</param>
        /// <returns> クエリ</returns>
        public NCMBQuery <T> WhereWithinGeoBox(string key, NCMBGeoPoint southwest, NCMBGeoPoint northeast)
        {
            Dictionary <string, object> geoDictionary = _geoPointToObjectWithinBox(southwest, northeast);

            _addCondition(key, "$within", geoDictionary);
            return(this);
        }
Beispiel #2
0
        /// <summary>
        /// 指定位置から近い順にオブジェクト取得を行います。
        /// </summary>
        /// <param name="key">  フィールド名</param>
        /// <param name="point">  指定位置(NCMBGeoPoint)</param>
        /// <returns> クエリ</returns>
        public NCMBQuery <T> WhereNearGeoPoint(string key, NCMBGeoPoint point)
        {
            object geoPoint = this._geoPointToObject(point);

            _addCondition(key, "$nearSphere", geoPoint);
            return(this);
        }
Beispiel #3
0
        /// <summary>
        /// 指定位置から指定距離(キロメートル)までの範囲に含まれるオブジェクトの取得を行います。<br/>
        /// 指定位置から近い順に取得します。
        /// </summary>
        /// <param name="key">  フィールド名</param>
        /// <param name="point">  指定位置(NCMBGeoPoint)</param>
        /// <param name="maxDistance">  指定距離</param>
        /// <returns> クエリ</returns>
        public NCMBQuery <T> WhereGeoPointWithinKilometers(string key, NCMBGeoPoint point, double maxDistance)
        {
            Dictionary <string, object> geoDictionary = this._geoPointToObject(point);

            _addCondition(key, "$nearSphere", geoDictionary);
            _addCondition(key, "$maxDistanceInKilometers", maxDistance);
            return(this);
        }
Beispiel #4
0
        /// <summary>
        /// NCMBGeoPointのJSON化するDictionaryの作成。
        /// </summary>
        private Dictionary <string, object> _geoPointToObject(NCMBGeoPoint point)
        {
            Dictionary <string, object> geoDic = new Dictionary <string, object> ();

            geoDic.Add("__type", "GeoPoint");
            geoDic.Add("longitude", point.Longitude);
            geoDic.Add("latitude", point.Latitude);
            return(geoDic);
        }
Beispiel #5
0
        /// <summary>
        /// JSON化するDictionaryの作成。キーは$box 値は南西GeoPointと北東GeoPointが入ったリスト。
        /// </summary>
        private Dictionary <string, object> _geoPointToObjectWithinBox(NCMBGeoPoint southwest, NCMBGeoPoint northeast)
        {
            Dictionary <string, object> geoDic     = new Dictionary <string, object> ();
            Dictionary <string, object> jSouthwest = _geoPointToObject(southwest);
            Dictionary <string, object> jNortheast = _geoPointToObject(northeast);

            List <object> List = new List <object> ();

            List.Add(jSouthwest);
            List.Add(jNortheast);

            geoDic ["$box"] = List;
            return(geoDic);
        }