[WP7] GeoCoordinate Werkt in Emulator niet op Phone

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

  • Rorando
  • Registratie: April 2007
  • Laatst online: 02-05 10:03
Ik heb een raar probleem met mijn app. Mijn code werkt wel goed in de Emulator maar niet op mijn Nokia.

het gaat om deze regel.
C#:
1
GeoCoordinate Location = new GeoCoordinate(Convert.ToDouble(cafenode.Lat), Convert.ToDouble(cafenode.Long));


Op mijn phone krijg ik een OutofRangeException terwijl de waarde van cafenode.Lat in de range van -90.0 tot 90.0 zit

Acties:
  • 0 Henk 'm!

  • RobIII
  • Registratie: December 2001
  • Laatst online: 19:19

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

Rorando schreef op vrijdag 27 januari 2012 @ 12:41:
terwijl de waarde van cafenode.Lat in de range van -90.0 tot 90.0 zit
En de .Long zit ook in de juiste range?
ArgumentOutOfRangeException: Latitude or longitude is out of range.

[ Voor 92% gewijzigd door RobIII op 27-01-2012 12:49 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Acties:
  • 0 Henk 'm!

  • Rorando
  • Registratie: April 2007
  • Laatst online: 02-05 10:03
Ja die ziet ook en de juiste range
dit zijn de waardes uit mijn xml waar de app ze vandaan haalt:

<lat>52.5124810</lat>
<long>6.09094000</long>

[ Voor 62% gewijzigd door Rorando op 27-01-2012 13:25 ]


Acties:
  • 0 Henk 'm!

  • RobIII
  • Registratie: December 2001
  • Laatst online: 19:19

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

Dan krijg je de ArgumentOutOfRangeException ergens anders van of op een andere plek; zoals je in de documentatie kunt lezen krijg je die alleen wanneer lat/long out of range is. Gooit Convert.ToDouble() 'm dan niet?

Heb je al eens gedebugged? Gecontroleerd of de waardes die je verwacht ook daadwerkelijk in de variabelen zitten enzo?

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Acties:
  • 0 Henk 'm!

  • Rorando
  • Registratie: April 2007
  • Laatst online: 02-05 10:03
Ja heb ik al naar gekeken, de waarde die uit de Convert.ToDouble() komen zijn gewoon goede waardes. en die gooit de Exception ook niet.

Acties:
  • 0 Henk 'm!

  • RobIII
  • Registratie: December 2001
  • Laatst online: 19:19

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

Rorando schreef op vrijdag 27 januari 2012 @ 13:29:
Ja heb ik al naar gekeken, de waarde die uit de Convert.ToDouble() komen zijn gewoon goede waardes. en die gooit de Exception ook niet.
En je weet zéker dat de exception op die regel wordt gegooid die je nu post?

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Acties:
  • 0 Henk 'm!

  • Rorando
  • Registratie: April 2007
  • Laatst online: 02-05 10:03
Dat is wat Visual Studio aangeeft.

Ik zie nu ook dat ik op mijn phone een fout krijg bij het parsen van de datetime van een twitter feed die ik in de emulator niet krijg.

FormatException
C#:
1
Date = DateTime.ParseExact(tweet.Element("created_at").Value, "ddd MMM dd HH:mm:ss %zzzz yyyy", null).ToString("dddd dd MMMM", new CultureInfo("nl-NL")),

[ Voor 83% gewijzigd door Rorando op 27-01-2012 13:33 ]


Acties:
  • 0 Henk 'm!

  • RobIII
  • Registratie: December 2001
  • Laatst online: 19:19

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

En als je de waardes hardcode die nu uit de Convert.ToDoulble() (zouden moeten) komen?
Het zou fijn zijn als je een beetje meedenkt/meewerkt. We zijn niet zo van het handjes-houden :)

[edit]
D'oh... |:( je weet dat 52.5124810 met een nl-NL locale met ToDouble() zal converteren naar 525124810.0? :X
Misschien handig als je even CultureInfo.InvariantCulture als tweede parameter doorgeeft ;)

[ Voor 59% gewijzigd door RobIII op 27-01-2012 13:41 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Acties:
  • 0 Henk 'm!

  • Rorando
  • Registratie: April 2007
  • Laatst online: 02-05 10:03
werkt wel inderdaad, dom dat ik daar nog niet aan had gedacht.

C#:
1
2
3
double latt = 52.5124810;
double longg = 6.09094000;
GeoCoordinate Location = new GeoCoordinate(latt, longg);


De waardes heb ik gekopieerd uit de waarde van de Convert.toDouble tijdens de Exception dus de waarde zou exact gelijk moeten zijn.

Acties:
  • 0 Henk 'm!

  • RobIII
  • Registratie: December 2001
  • Laatst online: 19:19

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

Rorando schreef op vrijdag 27 januari 2012 @ 13:38:
De waardes heb ik gekopieerd uit de waarde van de Convert.toDouble tijdens de Exception dus de waarde zou exact gelijk moeten zijn.
Neen; check mijn edit.

Dit had je met fatsoenlijk debuggen zelf prima moeten kunnen vinden; als je dat had gedaan had je gezien dat ToDouble() niet had teruggegeven wat je verwachtte. Je Nokia heeft een andere locale instelling dan je Emulator ergo: je "test"/"dev" en "prod" omgeving zijn niet identiek.

[ Voor 13% gewijzigd door RobIII op 27-01-2012 13:43 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Acties:
  • 0 Henk 'm!

  • Rorando
  • Registratie: April 2007
  • Laatst online: 02-05 10:03
Sorry ik keek naar de waarde van cafenode.lat die ik meegaf aan de double en niet de double zelf. dom van mij.
met de Cultureinfo als 2e parameter mee geven is het probleem inderdaad opgelost.

zal de volgende keer beter nadenken tijdens het debuggen
Pagina: 1