2015-06-21 2 views
0

Я пишу Windows Phone 8.1 Store App об услуге общественного транспорта, которая считывает координаты каждой остановки автобуса из базы данных, хранящейся в Windows Azure, и для каждая координата программы рисует Pin.Добавить событие «Событие» на выводе карты в Windows Phone 8.1

Код следующее:

private async void addImageToMap(Geopoint geopoint) 
     { 
      string title; 
      title = this.resourceLoader.GetString("NoGPSTitle"); 
      Geolocator geolocator = new Geolocator(); 
      Geoposition geoposition = null; 

      Image image = new Image(); 
      image.Width = 40; 
      image.Height = 40; 
      BitmapImage bitmapImage = new BitmapImage(); 
      bitmapImage.UriSource = new Uri("ms-appx:///Assets/mapPinBlu.png"); 
      image.Source = bitmapImage; 
      geoposition = await geolocator.GetGeopositionAsync(); 
      MapControl.SetLocation(image, geopoint); 
      MapControl.SetNormalizedAnchorPoint(image, new Point(0.25, 0.9)); 


      myMapControl.Children.Clear(); 
      myMapControl.Children.Add(image); 


      title = this.resourceLoader.GetString("Voisietequi"); 

     } 

Основная проблема заключается в том, что я не знаю, как добавить событие этот вывод, и даже читая другие дискуссии, я не был в состоянии понять, как я могу это сделать ...

Мне нужно создать событие, когда я нажимаю на Pin это показать это сообщение, как «Pin» Clicked как пример ...

Спасибо за помощь!

+0

Вместо того, чтобы нарисовать изображение, подобное этому, создайте булавку в xaml. Вставьте новый пользовательский элемент управления в свое приложение, затем нарисуйте его в xaml, напишите код в файле xaml.cs. – kernanb

ответ

0

Лучший способ установить все на ваш взгляд XAML. Существует элемент управления под названием MapItemsControl и его можно использовать для привязки к коллекции элементов. При необходимости вы можете также стилизовать каждый так, чтобы он использовал ваше изображение. Для хорошего примера вы посмотрите на сайте Shawn Kendrot здесь можно: http://visuallylocated.com/post/2014/08/13/Bind-a-collection-of-items-to-the-Windows-Phone-MapControl.aspx

Другое дело, чтобы добавить является tapped событие в этой коллекции, чтобы справиться с этим.

Надеется, что это помогает

+0

Спасибо, но можно сделать то же самое с изображением, созданным из кода вместо XAML? Потому что для реализации моей программы проще управлять им в коде вместо XAML. Спасибо за помощь! – bavve

+0

Честно говоря, никогда раньше этого не делал, всегда используйте привязку MVVM всюду, я могу ... – Depechie

+0

Хорошо. Итак, как я могу связать данные, полученные из моей онлайн-базы данных по Azure (данные являются координатами), написанными на C# и в коде UI XAML? Еще раз спасибо за помощь! – bavve

0

Добавить отводы события на карту в вашем XAML. Это похоже на триггеры MapTapped, когда отображается карта, и Tapped, когда дочерний элемент карты выбран.

Смежные вопросы