Ik loop tegen een vervelend probleem aan, genaamd met de Windows Phone maps API.
In de UI thread werkt de api prima en kan ik routes berekenen, maar ik wil graag ook dat mijn app ook in de achtergrond routes kan berekenen.
Helaas kan je dus met de maps api alleen maar in een UI thread werken, maar de background task heeft natuurlijk geen UI.
Hoe valt hier omheen te werken? Er zijn blijkbaar oplossingen ervoor als je in de Visual Studio Unit Test omgeving werkt zoals omschreven in deze blog
Zoals hieronder in mijn code, kan GeocodeQuery dus niet gebruikt worden op deze manier.
Als iemand me al een duwtje in de goede richting kan geven
In de UI thread werkt de api prima en kan ik routes berekenen, maar ik wil graag ook dat mijn app ook in de achtergrond routes kan berekenen.
Helaas kan je dus met de maps api alleen maar in een UI thread werken, maar de background task heeft natuurlijk geen UI.
Hoe valt hier omheen te werken? Er zijn blijkbaar oplossingen ervoor als je in de Visual Studio Unit Test omgeving werkt zoals omschreven in deze blog
Zoals hieronder in mijn code, kan GeocodeQuery dus niet gebruikt worden op deze manier.
C#: ScheduledAgent.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
| try { Mygeocodequery = new GeocodeQuery(); //MemNextLocation bevat de zoekterm waar de route naar berekend moet worden Mygeocodequery.SearchTerm = MemNextLocation; Mygeocodequery.GeoCoordinate = new GeoCoordinate(MyGeoPosition.Coordinate.Latitude, MyGeoPosition.Coordinate.Longitude); Mygeocodequery.QueryCompleted += Mygeocodequery_QueryCompleted; Mygeocodequery.QueryAsync(); } catch (Exception ex) { //Hier krijgen we de Invalid cross-thread access Debug.WriteLine(ex.Message); } |
Als iemand me al een duwtje in de goede richting kan geven