Как запустить карты Google с помощью кнопки изображения в виде списка? - PullRequest
0 голосов
/ 16 июня 2020

У меня есть кнопка изображения в моем списке, и я хочу открыть карты Google, нажав здесь мой код

 private async void pin_Clicked(object sender, EventArgs e )
    {
        await Launcher.OpenAsync(this.BindingContext.ToString());
    }

вот мой XAML

 <ListView  ItemTapped="MTZ_ItemTapped" HasUnevenRows="True" ItemsSource="{Binding CL }" IsVisible="{Binding IsVisible}"   >
        <ListView.ItemTemplate>
            <DataTemplate>
                <ViewCell >
                     <StackLayout >
                                <ImageButton  Source="pin4"  IsVisible="{Binding NIsVisible}" Clicked="pin_Clicked"></ImageButton>
                          </StackLayout>
                     </ViewCell>
            </DataTemplate>
        </ListView.ItemTemplate>
    </ListView>


</ListView>

вот моя собственность

 public class Person
    {
        public string CITY2 { get; set; }
    } 
public ObservableCollection<Person> CL { get; set; } = new ObservableCollection<Person>() 
    {
        new Person() { CITY2="https://www.google.com/maps/search/?api=1&query=30.199097,31.137771"}
    }

и вот ошибка «Недопустимый URI: не удалось определить формат URI. Итак, в чем проблема или каков правильный синтаксис кода? спасибо:)

1 Ответ

0 голосов
/ 16 июня 2020

сначала, вам не нужно указывать BindingContext на вашем ImageButton

<ImageButton Source="pin4" IsVisible="{Binding NIsVisible}" Clicked="pin_Clicked" />

, затем в вашем обработчике

var btn = (ImageButton)sender;
var item = (Person)btn.BindingContext;
await Launcher.OpenAsync(item.CITY2);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...