Я пытаюсь создать свое первое Xamarin.Forms
мобильное приложение с картой и булавками, поэтому, пожалуйста, потерпите меня.
Я пытаюсь добавить булавки на карту.Я использую этот код для добавления одного пина:
map = new Map {
IsShowingUser = true,
HeightRequest = 100,
WidthRequest = 960,
VerticalOptions = LayoutOptions.FillAndExpand
};
map.MoveToRegion (MapSpan.FromCenterAndRadius (
new Position (36.9628066,-122.0194722), Distance.FromMiles (3)));
var position = new Position(36.9628066,-122.0194722);
var pin = new Pin {
Type = PinType.Place,
Position = position,
Label = "Santa Cruz",
Address = "custom detail info"
};
map.Pins.Add(pin);
Теперь, вместо добавления только одного пина, я бы хотел добавить несколько пинов из таблицы tsql.
Итак, я создалWCF service
, который возвращает список координат.Один возвращает json
, а другой возвращает datatable
:
public DataTable ToEraseGetCoordinates()
{
string sqlQuery = "select lat,lon from MyStores";
string connString = GetConnString();
SqlDatabase sqlDatabase = new SqlDatabase(connString);
DataSet result = sqlDatabase.ExecuteDataSet(CommandType.Text, sqlQuery);
return result.Tables[0];
}
public System.IO.Stream ToEraseGetCoordinatesJson()
{
string sqlQuery = "select lat,lon from MyStores";
string connString = GetConnString();
SqlDatabase sqlDatabase = new SqlDatabase(connString);
DataSet result = sqlDatabase.ExecuteDataSet(CommandType.Text, sqlQuery);
return ConvertToJson(result.Tables[0]);
}
Я вызываю WCF следующим образом: http://80.102.51.381:101/Service1.svc/ToEraseGetCoordinates
(для представления данных в формате XML)
ДляJSON: http://80.102.51.381:101/Service1.svc/ToEraseGetCoordinatesJson
, который возвращает это:
{"lat":25.7616,"lon":-80.1917},{"lat": 28.5383,"lon":-81.3792}
Мой вопрос: что мне делать дальше, чтобы мой Xamarin.Form считывал это?
Независимо от типа возвращаемого значения, яне знаю, как Xamarin будет потреблять WCF и рисовать булавки.