Esempio n. 1
0
        /// <summary>
        /// 关键词输入提示
        /// </summary>
        /// <param name="request"></param>
        /// <returns></returns>
        public GetSuggestionListResponse GetSuggestionList(GetSuggestionListRequest request)
        {
            var response = new GetSuggestionListResponse()
            {
                StateCode = 201,
                ResultMsg = "查无数据"
            };

            if (request == null || request.Keyword == null || request.Keyword == "")
            {
                response.ResultMsg = "请求参数异常,请稍后重试";
                return(response);
            }

            var url = $"https://apis.map.qq.com/ws/place/v1/suggestion/?region={request.Region}&keyword={request.Keyword}&page_index=1&page_size=5&key={key}";

            if (request.Location != null && request.Location != "")
            {
                url += $"location={request.Location}";
            }
            var resultPost = new HttpClient().GetAsync(url).Result;

            if (resultPost == null || !resultPost.IsSuccessStatusCode && resultPost.Content == null)
            {
                response.ResultMsg = "网络异常,请稍后重试";
                return(response);
            }
            var resultStr = resultPost.Content.ReadAsStringAsync().Result;

            if (resultStr == null || resultStr == "")
            {
                response.ResultMsg = "网络异常,请稍后重试";
                return(response);
            }
            var result = JsonConvert.DeserializeObject <Suggestion>(resultStr);

            if (result == null || result.status != 0 || result.data == null || result.data.Count <= 0)
            {
                response.ResultMsg = "网络异常,请稍后重试";
                return(response);
            }

            //实体赋值
            foreach (var item in result.data)
            {
                response.List.Add(new SuggestionList()
                {
                    Title    = item.title,
                    Address  = item.address,
                    City     = item.city,
                    Province = item.province,
                    Distance = item._distance,
                    Type     = item.type,
                    Location = new LocationBaseInfo()
                    {
                        Lat = item.location.lat,
                        Lng = item.location.lng
                    }
                });
            }
            response.StateCode = 200;
            response.ResultMsg = "查询成功";

            return(response);
        }
Esempio n. 2
0
        public string GetSuggestionList([FromBody] GetSuggestionListRequest request)
        {
            var result = new MapServices(_context).GetSuggestionList(request);

            return(JsonConvert.SerializeObject(result));
        }