piyushpiyush Ответов: 1

Поиск по соседству с помощью Google api


Я ищу рядом с palce с помощью google api

https://maps.googleapis.com/maps/api/place/textsearch/xml?query=restaurants+in+Sydney&key=YOUR_API_KEY


Мне нужна только информация о близости от результата в формате json.

Пожалуйста, посоветуйте, как я могу фильтровать результат и отображать только информацию о близости (адресе) в формате json.



Строка sURL = "https://maps.googleapis.com/maps/api/place/nearbysearch/json?местоположение=";
sURL += objNearByServicesRequest.Широта+", " + objNearByServicesRequest.Долгота;
sURL + = "& amp; radius= " + WebConfigurationManager.AppSettings ["RadiusNearBySearch"] + "&types= " + objNearByServicesRequest.Типы + "& amp; ключевое слово= " + objNearByServicesRequest.Ключевое слово;
sURL + = "& key= " + WebConfigurationManager.Параметр Appsettings["GoogleAPIKeyNearBySearch"];

Strreturn строка = строка.Пустой;


использование (VAR client = new WebClient())
использование (VAR stream = client.OpenRead(sURL))
using (var reader = new StreamReader(stream))
{
ВАР создание экземпляра = Newtonsoft.В формате JSON.В LINQ.Создание экземпляра.Анализа(ридер.ReadToEnd());
Приставка.WriteLine ((string)jObject ["результаты"] [0] ["окрестности"]);
}



Я хочу отобразить out out в формате json для 2 полей, как показано ниже.
как я могу написать код для отображения в формате ниже, используя C#.

[
{
"id": 1,
"близость": "ОПП. Железнодорожная Станция, Поместье Габба, Гохар Бауг, Мумбаи",

},
{
"id": 2
"легкий": "Ш 15, колонии Navjivan, Мумбаи",

}

]


Что я уже пробовал:

>https://maps.googleapis.com/maps/api/place/textsearch/xml?query=restaurants+in+Sydney&key=YOUR_API_KEY


Мне нужна только информация о близости снизу результата в формате json.

Пожалуйста, посоветуйте, как я могу фильтровать результат и отображать только информацию о близости (адресе) в формате json.

Richard MacCutchan

Вам просто нужно извлечь интересующие вас поля и игнорировать остальные.

1 Ответов

Рейтинг:
0

Richard Deeming

Наиболее вероятная проблема заключается в том, что ответ находится в нескольких строках, но Вы читаете только первую строку.

Либо измените свой код, чтобы прочитать весь ответ, используя ReadToEnd вместо ReadLine:

using (var client = new WebClient())
using (var stream = client.OpenRead(sURL))
using (var reader = new StreamReader(stream))
{
    var jObject = Newtonsoft.Json.Linq.JObject.Parse(reader.ReadToEnd());
    Console.WriteLine((string)jObject["results"][0]["vicinity"]);
}

Или использовать JsonReader для загрузки данных:
using (var client = new WebClient())
using (var stream = client.OpenRead(sURL))
using (var reader = new StreamReader(stream))
using (var json = new JsonTextReader(reader))
{
    var jObject = Newtonsoft.Json.Linq.JObject.Load(json);
    Console.WriteLine((string)jObject["results"][0]["vicinity"]);
}


piyushpiyush

Я хочу отобразить out out в формате json для 2 полей, как показано ниже.
как я могу написать код для отображения в формате ниже, используя C#.

[
{
"id": 1,
"окрестности": "ледяная скульптура",

},
{
"id": 2
"окрестности": "синяя мышь",

}

]