1
ピンをクリックしてメソッドを実行しようとしています。私はすべてのことを正しくやっていると信じていますが、このイベントはただのトリガーではありません。 2015年から同様の質問がいくつかありますが、それらはすべてXamarin.Formsのバグを指摘しています。解決のための私のNuGetマネージャーは私のXamarin.Formsが欠陥のあるバージョンよりもずっと新しいと言います。Xamarin.Forms.Map Pin.Clicked not working
は、ここに私のコードです:
public MainPage()
{
InitializeComponent();
}
protected async override void OnAppearing()
{
await InitializeMapAsync();
}
public async Task InitializeMapAsync()
{
var locator = CrossGeolocator.Current;
var userPosition = await locator.GetLastKnownLocationAsync();
var position = new Position(userPosition.Latitude, userPosition.Longitude);
var map = new Map(MapSpan.FromCenterAndRadius(position, Distance.FromKilometers(10)))
{
IsShowingUser = true,
VerticalOptions = LayoutOptions.FillAndExpand
};
var items = await WebHelper.GetItems(position.Latitude.ToString(), position.Longitude.ToString(), "user");
if(items != null)
{
foreach (var item in items)
{
var pin = new Pin()
{
Label = item.Price,
Position = new Position(double.Parse(item.Lat), double.Parse(item.Lng))
};
pin.Clicked += (object sender, EventArgs e) =>
{
var p = sender as Pin;
DisplayAlert("Clicked", "Clicked!", "ok");
};
map.Pins.Add(pin);
}
}
var stack = new StackLayout { Spacing = 0 };
stack.Children.Add(map);
Content = stack;
}
私のピンがマップに追加されますが、私はそれらをクリックすると、彼らはちょうど私のカスタムDisplayAlert方法を実行するツールチップを表示していません。
目に見える間違いがありますか?
記録的には、Androidタブレットでテストしています。
それでも[いくつかのバグ](https://bugzilla.xamarin.com/show_bug.cgi?id=40478) –
が少し不安定なルックスがあるように見えます..私は、私は、プラットフォームを使用しようとすると思います特定の方法。 – mathkid91
こんにちは@ mathkid91。このスレッドは少し古いですが、まだこの問題がある場合は、[ここ](https://bugzilla.xamarin.com/show_bug.cgi?id=40478)にコメントを追加したい場合があります – kizanlik