Meine Bing-Kartenanwendung stürzt irgendwann ab, wenn ich ziehe oder zoome. Getestet auf Emulator und Gerät.
Ich habe das Oktober-Update installiert.
MapItemsControl-Bindung an ObservableCollection. Wenn die Anwendung startet, wurden die Pins geladen und sind sichtbar.
Bei der Fehlersuche stelle ich fest, dass die App nicht abstürzt, wenn sich die Stecknadeln auf der Karte in demselben allgemeinen Bereich befinden. Beispiel,
addPin("40.78184126814031", "-73.97712707519532");
addPin("40.74569634433956", "-73.96717071533204");
addPin("40.7117682299881", "-74.0125322341919");
addPin("40.75777392583087", "-73.96950960159302");
Sind die Pins jedoch verteilt, stürzt die Anwendung ab, wenn der Benutzer auf einen bestimmten Pin zoomt und/oder die Karte zieht. Beispiel,
addPin("42.35960626034072", "-71.09212160110473");
addPin("51.388066116760086", "30.098590850830067");
addPin("48.17972265679143", "11.54910385608672");
addPin("40.28802528051879", "-76.65668606758117");
Ich bin mir nicht sicher, ob der Projektcode notwendig ist - ich gehe davon aus, dass es ein Konzept gibt, das ich einfach nicht kenne.
Für Vorschläge bin ich immer offen. Stack Trace unten.
Danke
Unspecified error
at MS.Internal.XcpImports.CheckHResult(UInt32 hr)
at MS.Internal.XcpImports.UIElement_HitTestPoint(UIElement element, Point ptHit)
at System.Windows.UIElement.HitTest(Point point)
at System.Windows.Media.VisualTreeHelper.FindElementsInHostCoordinates(Point intersectingPoint, UIElement subtree)
at Microsoft.Phone.Controls.Maps.Core.TouchHelper.<InputHitTest>d__0.MoveNext()
at Microsoft.Phone.Controls.Maps.Core.TouchHelper.HitTestAndRaiseDownEvent(UIElement root, TouchPoint touchPoint)
at Microsoft.Phone.Controls.Maps.Core.TouchHelper.TouchFrameReported(Object sender, TouchFrameEventArgs e)
at System.Windows.Input.Touch.OnTouch(Object sender, TouchFrameEventArgs e)
at MS.Internal.JoltHelper.RaiseEvent(IntPtr target, UInt32 eventId, IntPtr coreEventArgs, UInt32 eventArgsTypeIndex)
Ich dachte, es wäre am besten, den Code mit einzubinden - wenn ich diesen ausführe und hineinzoome, stürzt die App ab - danke
PINDATA-Klasse
namespace BugCrash.models
{public class PinData{public GeoCoordinate PinLocation { get;set; }}}
MAINPAGE.xaml.cs
namespace BugCrash
{
public partial class MainPage : PhoneApplicationPage
{
private ObservableCollection<PinData> _pinsA = new ObservableCollection<PinData>();
public ObservableCollection<PinData> PinsA { get { return this._pinsA; } }
// Constructor
public MainPage()
{
InitializeComponent();
this.DataContext = this;
myMap.Center = new GeoCoordinate(40.74569634433956, -73.96717071533204);
myMap.ZoomLevel = 4;
MessageBox.Show(loadAPins_fromString());
}
//ADD PIN TO COLLECTION
private void addPin(String lat, String lon)
{
PinData tmpPin;
tmpPin = new PinData() { PinLocation = new GeoCoordinate(System.Convert.ToDouble(lat), System.Convert.ToDouble(lon)) };
_pinsA.Add(tmpPin);
}
//LOAD PINS ONE BY ONE
private string loadAPins_fromString()
{
//BAD
addPin("42.35960626034072", "-71.09212160110473");
addPin("51.388066116760086", "30.098590850830067");
addPin("48.17972265679143", "11.54910385608672");
addPin("40.28802528051879", "-76.65668606758117");
return "A PINS LOADED - STRING";
}
}
}
MAINPAGE.xaml
<phone:PhoneApplicationPage
x:Class="BugCrash.MainPage"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:phone="clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone"
xmlns:shell="clr-namespace:Microsoft.Phone.Shell;assembly=Microsoft.Phone"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d" d:DesignWidth="480" d:DesignHeight="768"
FontFamily="{StaticResource PhoneFontFamilyNormal}"
FontSize="{StaticResource PhoneFontSizeNormal}"
Foreground="{StaticResource PhoneForegroundBrush}"
SupportedOrientations="Portrait" Orientation="Portrait"
shell:SystemTray.IsVisible="False"
xmlns:my="clr-namespace:Microsoft.Phone.Controls.Maps;assembly=Microsoft.Phone.Controls.Maps">
<Grid x:Name="LayoutRoot" Background="Transparent">
<!--RESOURCES-->
<Grid.Resources>
<my:ApplicationIdCredentialsProvider ApplicationId="XX" x:Key="MyCredentials"/>
</Grid.Resources>
<my:Map Height="768"
Name="myMap"
VerticalAlignment="Top" Width="480"
CredentialsProvider="{StaticResource MyCredentials}">
<my:Map.Mode>
<my:AerialMode ShouldDisplayLabels="True" />
</my:Map.Mode>
<my:MapItemsControl
x:Name="GroupAPins"
ItemsSource="{Binding PinsA}"
>
<my:MapItemsControl.ItemTemplate>
<DataTemplate>
<my:Pushpin Location="{Binding PinLocation}" Width="60" Height="55" Content="PIN">
</my:Pushpin>
</DataTemplate>
</my:MapItemsControl.ItemTemplate>
</my:MapItemsControl>
</my:Map>
</Grid>
</phone:PhoneApplicationPage>