2016-05-30 7 views
0
.

. Я пытаюсь привязать коллекции точек к элементу управления Bing, и все работает отлично в первый раз (когда я открываю представление с этой картой в первый раз), но каждая другая попытка заканчивается этим чистым сообщением в окне вывода:Windows Phone 8.1 с отображением Bing-карт. Нарушение прав доступа.

The program 'xxx' has exited with code -1073741819 (0xc0000005) 'Access violation'. 

Исключений нет, только это сообщение. То, что я пробовал до сих пор, является статьей this из MSDN, но безуспешно. Я также пытался запустить код в потоке пользовательского интерфейса, но это не помогло.

В ViewModel я это делаю:

Issues.Completed +=() => 
     { 
      Locations = new ObservableCollection<MapItemViewModel>(); 
      foreach (var issueLto in Issues.Result) 
      { 
       Locations.Add(new MapItemViewModel 
       { 
        Name = issueLto.Title, 
        Location = new MapPointViewModel 
        { 
         Longitude = issueLto.Longitude, 
         Latitude = issueLto.Latitude 
        } 
       }); 
      } 

      MapCenter = Issues.Result.Select(c => new MapCenterViewModel 
      { 
       Location = new MapPointViewModel 
       { 
        Latitude = c.Latitude, 
        Longitude = c.Longitude 
       } 
      }).FirstOrDefault(); 
     }; 

И в XAML:

<maps:MapControl 
       MapServiceToken="{StaticResource BingServiceToken}" 
       VerticalAlignment="Stretch" 
       HorizontalAlignment="Stretch" 
       Center="{Binding MapCenter.Location, Converter={StaticResource MapCoordinatesConverter}}"> 
       <maps:MapItemsControl ItemsSource="{Binding Locations}"> 
        <maps:MapItemsControl.ItemTemplate> 
         <DataTemplate> 
          <StackPanel maps:MapControl.Location="{Binding Location, Converter={StaticResource MapCoordinatesConverter}}"> 
           <TextBlock Text="{Binding Name}" Foreground="Black"/> 
           <Image Source="../../Assets/mappin.png" Height="25"/> 
          </StackPanel> 
         </DataTemplate> 
        </maps:MapItemsControl.ItemTemplate> 
       </maps:MapItemsControl> 
      </maps:MapControl> 

ответ

0

Это возможно потому, что вы не можете связать центр свойство Map Control, существует обходной путь, используя Поведение SDK, пожалуйста, прочитайте эту статью: http://dreamteam-mobile.com/blog/2012/10/better-bing-maps-sdk-for-metro-apps-winrt-windows8-en/

в MSDN, это полезно: https://social.msdn.microsoft.com/Forums/en-US/436fc737-19c8-4832-a1c4-368f88063616/anyway-to-make-a-binding?forum=bingmapswindows8

+0

Привет, я также подумал об этой проблеме, но это странное поведение связано с коллекцией «Locations», потому что, когда я прокомментирую это, и только центр карты рассчитан, приложение не сбой. –