public void FindCityName()
{
string url = "http://maps.google.com/maps/geo?q=39.920794,32.853902&output=json&oe=utf8&sensor=true&key=MYKEY";
var w = new WebClient();
Observable.FromEvent<DownloadStringCompletedEventArgs>(w, "DownloadStringCompleted").Subscribe(r =>
{
var deserialized = JsonConvert.DeserializeObject<RootObject>(r.EventArgs.Result);
string s = deserialized.Placemark[0].AddressDetails.Country.SubAdministrativeArea.Locality.LocalityName;
/// setCity() and City=s produce the same thing
setCity(s);
City = s;
//foreach (var item in deserialized.Placemark)
//{
// //MessageBox.Show(item.AddressDetails.Country.SubAdministrativeArea.Locality.LocalityName);
// City = (string)item.AddressDetails.Country.SubAdministrativeArea.Locality.LocalityName;
//}
//Problem here >>>>>
////MessageBox.Show(City);
});
w.DownloadStringAsync(new Uri(url));
}
问题:JsonConvert - 无法字符串值分配给一个字符串变量
我工作了Windows Phone 7应用程序,我需要找到“城市名称”,从GPS以前进的坐标...
我在互联网上找到了上面的代码,并试过它。我可以通过使用这些代码(Message.Box(City)显示我想要的,城市名称)来查看城市名称。但是,这行代码
deserialized.Placemark[0].AddressDetails.Country.SubAdministrativeArea.Locality.LocalityName;
这给我城市名似乎给了一个易变的字符串值。
例如,我创建了一个方法,它将字符串变量“s”的值赋给我的类的名称City的字符串字段。如果我在调用FindCityName()方法后尝试获取城市的内容,我会看到City的内容没有更新。
再次发生同样的事情,然后我打电话的代码行的注释下“问题就在这里>>>>>”那MessageBox.Show(市)显示了无新意...
有人能解释我的理由我的问题?
WebClient wc没有名为DownloadString(...)的方法。我将Newtonsoft.Json添加到我的引用中... – 2012-08-17 10:57:25