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:
Không chỉ dừng lại ở việc sử dụng nguyên liệu cao cấp, mỗi công trình còn được "chăm sóc" bằng 4 dịch vụ xuất sắc của Tre Nghệ. Từ việc tư vấn, thiết kế đến thi công và hoàn thiện, mọi quy trình đều...
Chất Lượng và Sáng Tạo: Kiến Trúc...