Mình vào vấn đề chính luôn. Mình có chuỗi Json như sau : Mình đoán là mình parse sai rồi, nhưng mình ko biết sửa như thế nào cả. Mong các bạn chỉ giáo!
Mã:
"results": [{
"geometry": {
"location": {
"lat": 10.86246,
"lng": 106.795017
}
},
"icon": "http://maps.gstatic.com/mapfiles/place_api/icons/generic_business-71.png",
"id": "e3385aa983fd87f151e67009cff4c1dbe7ef241d",
"name": "Bệnh Viện Máy Tính NET",
"opening_hours": {
"open_now": false
},
"reference": "CoQBfgAAAJF-QvlYsJcT-fUdg9vJq_0LbIRi4Pgcdkyxe48BO47S7sVQV50vXkAWfyzbvlLEHF0w_nVX66ycxdS-7RXGb12vpDoNjS4fhKk9WHoWREIWfJahwyEwO1aqLWVdOLoevfCmRl1-5Frs6Wn4tXE5raesa6pVKfR6Y7vU6lV8VEDkEhAa9EXqUrkSfXGNYiU8pxemGhS9IAWg1BtyB7Y5qrjDSmCzJX_82A",
"types": ["establishment"],
"vicinity": "Xa lộ Hà Nội"
}]
Và class mình Parse sang chuỗi dùng Serialization :
Mã:
public class Places
{
[DataMember(Name = "geometry")]
public string Geometry{get;set;}
[DataMember(Name = "location")]
public string Location { get; set; }
[DataMember(Name = "lat")]
public string Latitude { get; set; }
[DataMember(Name = "lng")]
public string Longitude { get; set; }
[DataMember(Name = "icon")]
public string Icon { get; set; }
[DataMember(Name = "id")]
public string Id { get; set; }
[DataMember(Name = "name")]
public string Name { get; set; }
[DataMember(Name = "photo")]
public string Photo { get; set; }
[DataMember(Name = "rating")]
public string Rating { get; set; }
[DataMember(Name = "reference")]
public string Reference { get; set; }
[DataMember(Name = "types")]
public string Types { get; set; }
[DataMember(Name = "vicinity")]
public string Vicinity { get; set; }
}
[DataContract]
public class PlacesList
{
[DataMember(Name = "results")]
public List<Places> PlaceList { get; set; }
}
public class PlaceToMap
{
public GeoCoordinate Coordinate { get; set; }
public string Info { get; set; }
}
Và khi sử dụng như thế này thì Lat và Lng tất cả đều null. Mình đoán là mình parse sai rồi, nhưng mình ko biết sửa như thế nào cả. Mong các bạn chỉ giáo!
Mã:
private void updateMap(PlacesList googlePlaceApiRespone)
{
int totalRecords = googlePlaceApiRespone.PlaceList.Count();
try
{
ObservableCollection<PlaceToMap> placeToMapObjs = new ObservableCollection<PlaceToMap>();
for (int index = 0; index < totalRecords; index++)
{
placeToMapObjs.Add(new PlaceToMap()
{
Coordinate = new GeoCoordinate(Convert.ToDouble(googlePlaceApiRespone.PlaceList.ElementAt(index).Latitude),
Convert.ToDouble(googlePlaceApiRespone.PlaceList.ElementAt(index).Longitude)),
Info = googlePlaceApiRespone.PlaceList.ElementAt(index).Name + Environment.NewLine + googlePlaceApiRespone.PlaceList.ElementAt(index).Vicinity
});
}
ObservableCollection<DependencyObject> children = MapExtensions.GetChildren(myMap);
var obj = children.FirstOrDefault(x => x.GetType() == typeof(MapItemsControl)) as MapItemsControl;
obj.ItemsSource = placeToMapObjs;
myMap.SetView(new GeoCoordinate(Convert.ToDouble(currentLatitude), Convert.ToDouble(currentLongitude)), 16);
}
catch (Exception)
{
}
}
View more random threads:
Thông qua phân tích dữ liệu Google từ 86 quốc gia, mới đây, một công ty tại Anh đã công bố bảng xếp hạng kích tấc "cậu nhỏ" của các nước trên thế giới. Kết quả, hầu hết các nước xếp ở nhóm đầu của...
"Chim" của chàng trai Việt thuộc...