private IAsyncResult BeginSearch(
            string keyword,
            int resultCount,
            float latitude,
            float longitude,
            float?width,
            float?height,
            string resultType,
            AsyncCallback callback,
            object state)
        {
            if (keyword == null)
            {
                throw new ArgumentNullException("keyword");
            }

            var request = new GlocalSearchRequest
            {
                Query      = keyword,
                Latitude   = latitude,
                Longitude  = longitude,
                Width      = width,
                Height     = height,
                ResultType = resultType
            };

            return(this.BeginSearch <GlocalResult>(request, resultCount, callback, state));
        }
        private IList <ILocalResult> Search(
            string keyword,
            int resultCount,
            float latitude,
            float longitude,
            float?width,
            float?height,
            string resultType)
        {
            if (keyword == null)
            {
                throw new ArgumentNullException("keyword");
            }

            var request = new GlocalSearchRequest
            {
                Query      = keyword,
                Latitude   = latitude,
                Longitude  = longitude,
                Width      = width,
                Height     = height,
                ResultType = resultType
            };

            return(this.Search <GlocalResult, ILocalResult>(request, resultCount));
        }
        private IAsyncResult BeginSearch(
            string keyword,
            int resultCount,
            float latitude,
            float longitude,
            float? width,
            float? height,
            string resultType,
            AsyncCallback callback,
            object state)
        {
            if (keyword == null)
            {
                throw new ArgumentNullException("keyword");
            }

            var request = new GlocalSearchRequest
                {
                    Query = keyword,
                    Latitude = latitude,
                    Longitude = longitude,
                    Width = width,
                    Height = height,
                    ResultType = resultType
                };
            return this.BeginSearch<GlocalResult>(request, resultCount, callback, state);
        }
        private IList<ILocalResult> Search(
            string keyword,
            int resultCount,
            float latitude,
            float longitude,
            float? width,
            float? height,
            string resultType)
        {
            if (keyword == null)
            {
                throw new ArgumentNullException("keyword");
            }

            var request = new GlocalSearchRequest
                {
                    Query = keyword,
                    Latitude = latitude,
                    Longitude = longitude,
                    Width = width,
                    Height = height,
                    ResultType = resultType
                };
            return this.Search<GlocalResult, ILocalResult>(request, resultCount);
        }