Uzywam customowej Mapy/pinow w xamarin.forms (dokladnie stąd https://docs.microsoft.com/pl-pl/xamarin/xamarin-forms/app-fundamentals/custom-renderer/map/customized-pin), poniewaz na zwyklej standardowej z xamarin.forms.maps nie ma za duzo mozliwosci
Moglby ktos pomoc w dodawaniu pytan i odpowiedzi do pinow? Nie wiem za bardzo jak się za to zabrac, tak zeby mozna bylo kliknac w pin i dostać pytanie z 4 odpowiedziami i tylko jedna z nich jest poprawna. Moj kod:
public async void OnMapClicked(object sender, MapClickedEventArgs e)
{
CustomPin pin = new CustomPin
{
Type = PinType.SavedPin,
Position = new Position(e.Position.Latitude, e.Position.Longitude),
Label = nazwaEntry.Text,
Address = opisEntry.Text,
Name = "Xamarin",
Url = "http://xamarin.com/about/",
Question = zagadkaEntry.Text,
Answer = odpowiedzEntry.Text
};
pin.MarkerClicked += async (s, args) =>
{
args.HideInfoWindow = true;
string pinName = ((CustomPin)s).Label;
string pytanie = ((CustomPin)s).Question;
string odpowiedz = ((CustomPin)s).Answer;
await DisplayAlert("Pin Clicked", $"{pinName} was clicked.", "Ok");
string result = await DisplayPromptAsync("Zagadka", $"{pytanie}", initialValue: odpowiedz, maxLength: 2, keyboard: Keyboard.Numeric);
};
customMap.CustomPins = new List<CustomPin> { pin };
customMap.Pins.Add(pin);
var json = JsonConvert.SerializeObject(new { X = pin.Position.Latitude, Y = pin.Position.Longitude });
var content = new StringContent(json, Encoding.UTF8, "application/json");
HttpClient client = new HttpClient();
var result = await client.PostAsync("URL", content);
if (result.StatusCode == HttpStatusCode.Created)
{
await DisplayAlert("Komunikat", "Dodanie puntku przebiegło pomyślnie", "Anuluj");
}
}