Xamarin API Карт GoogleC#

Место общения программистов C#
Ответить
Anonymous
 Xamarin API Карт Google

Сообщение Anonymous »

Я использую приведенный ниже код, чтобы получить название города для заданной широты и долготы.
Но код останавливается, когда выполняется эта строка:
var responseElement = XElement.Parse(response);

Он перестает отвечать и не генерирует никаких исключений.
Я предполагаю, что это может быть проблема с асинхронным вызовом.
Может ли кто-нибудь помочь мне с этим или предложить аналогичный код, использующий iOS SDK?
private async Task ReturnCity(string lat, string lon)
{
string city = "None";
string baseUri = string.Format("http://maps.googleapis.com/maps/api/geo ... nsor=false", lat, lon);
HttpClient client = new HttpClient();
var response = await client.GetStringAsync(baseUri);
var responseElement = XElement.Parse(response);
IEnumerablestatusElement = from st in responseElement.Elements("status") select st;
if (statusElement.FirstOrDefault() != null)
{
string status = statusElement.FirstOrDefault().Value;
if (status.ToLower() == "ok")
{
IEnumerable resultElement = from rs in responseElement.Elements("result") select rs;
if (resultElement.FirstOrDefault() != null)
{
IEnumerable addressElement = from ad in resultElement.FirstOrDefault().Elements("address_component") select ad;
foreach (XElement element in addressElement)
{
IEnumerable typeElement = from te in element.Elements("type") select te;
string type = typeElement.FirstOrDefault().Value;
if(type=="locality")
{
IEnumerable cityElement = from ln in element.Elements("long_name") select ln;
city = cityElement.FirstOrDefault().Value;
return city;
break;
}
}
}
}
}
return city;
}

Я просмотрел отладчик и нашел значение ответа. Это похоже на действительный XML. Есть мысли?


OK

airport
transit_station
establishment
Lisbon Portela Airport (LIS), Alameda das Comunidades Portuguesas, 1700-111 Lisboa, Portugal

Lisbon Portela Airport
Lisbon Portela Airport


Alameda das Comunidades Portuguesas
Alameda das Comunidades Portuguesas
route


Lisboa
Lisboa
locality
political


Lisboa
Lisboa
administrative_area_level_1
political


Portugal
PT
country
political


1700-111
1700-111
postal_code



38.7755936
-9.1353667

APPROXIMATE


38.7623900
-9.1475505


38.7994779
-9.1236185




38.7623900
-9.1475505


38.7994779
-9.1236185



ChIJgwHZFkYyGQ0RRm0DWD6lZgo


route
Lisbon Portela Airport (LIS), Rua E, 1700-111 Lisboa, Portugal

Rua E
R. E
route


Lisbon Portela Airport
Lisbon Portela Airport


Lisboa
Lisboa
locality
political


Lisboa
Lisboa
administrative_area_level_1
political


Portugal
PT
country
political


1700-111
1700-111
postal_code


1700
1700
postal_code_prefix
postal_code



38.7757984
-9.1304833

GEOMETRIC_CENTER


38.7744765
-9.1317496


38.7771745
-9.1290516




38.7748799
-9.1307609


38.7767711
-9.1300403



ChIJjdzMckIyGQ0RvIXYZCCI82k


locality
political
Lisbon, Portugal

Lisbon
Lisbon
locality
political


Lisbon
Lisbon
administrative_area_level_1
political


Portugal
PT
country
political



38.7222524
-9.1393366

APPROXIMATE


38.6913994
-9.2298356


38.7958538
-9.0905718




38.6913994
-9.2298356


38.7958538
-9.0905718



ChIJO_PkYRozGQ0R0DaQ5L3rAAQ


postal_code
1700-111 Lisbon, Portugal

1700-111
1700-111
postal_code


Lisbon
Lisbon
locality
political


Olivais
Olivais
administrative_area_level_3
political


Lisbon
Lisbon
administrative_area_level_2
political


Lisbon
Lisbon
administrative_area_level_1
political


Portugal
PT
country
political



38.7661892
-9.1291486

APPROXIMATE


38.7544060
-9.1483947


38.7870843
-9.1239064




38.7544060
-9.1483947


38.7870843
-9.1239064



ChIJS-qk_0UyGQ0RN3v7SZnU9D8


postal_code_prefix
postal_code
1700, Portugal

1700
1700
postal_code_prefix
postal_code


Lisbon
Lisbon
administrative_area_level_1
political


Portugal
PT
country
political



38.7600325
-9.1400807

APPROXIMATE


38.7448641
-9.1567550


38.7870843
-9.1239064




38.7448641
-9.1567550


38.7870843
-9.1239064



ChIJdVtq_1kyGQ0RYKU7DsHrABw


administrative_area_level_3
political
Olivais, Portugal

Olivais
Olivais
administrative_area_level_3
political


Lisbon
Lisbon
administrative_area_level_2
political


Lisbon
Lisbon
administrative_area_level_1
political


Portugal
PT
country
political



38.7721510
-9.1179465

APPROXIMATE


38.7502229
-9.1483924


38.7870963
-9.0905718




38.7502229
-9.1483924


38.7870963
-9.0905718



ChIJccbEUz4yGQ0RsEKQ5L3rAAU


administrative_area_level_2
political
Lisbon, Portugal

Lisbon
Lisbon
administrative_area_level_2
political


Lisbon
Lisbon
administrative_area_level_1
political


Portugal
PT
country
political



38.7222986
-9.1393188

APPROXIMATE


38.6913994
-9.2298356


38.7958538
-9.0905718




38.6913994
-9.2298356


38.7958538
-9.0905718



ChIJMabWPRAzGQ0RRFqNEqmj6AI


administrative_area_level_1
political
Lisbon, Portugal

Lisbon
Lisbon
administrative_area_level_1
political


Portugal
PT
country
political



38.7223263
-9.1392714

APPROXIMATE


38.6731604
-9.5005266


39.3177286
-8.7819208




38.6731604
-9.5005266


39.3177286
-8.7819208



ChIJWxIr4ajVGA0RwCyQ5L3rAAM


country
political
Portugal

Portugal
PT
country
political



39.3998720
-8.2244540

APPROXIMATE


36.9601772
-9.5171107


42.1542048
-6.1902091




32.4037400
-31.2752439


42.1542048
-6.1902091



ChIJ1SZCvy0kMgsRQfBOHAlLuCo




Подробнее здесь: https://stackoverflow.com/questions/309 ... e-maps-api
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»