2012-04-23 24 views
2

Heey,不斷得到ArgumentOutOfRangeException在電話不是模擬器

我需要一個例外,我保持我的應用打一些幫助,

在這段代碼

Map mapView = new Map() 
     { 
      CredentialsProvider = new ApplicationIdCredentialsProvider("OurKey"), 
      Margin = new Thickness(6.0), 
      IsEnabled = false, 
      Center = new GeoCoordinate(Convert.ToDouble(newEvent.EventLat), Convert.ToDouble(newEvent.EventLon)), 
      ZoomLevel = 15 
     }; 

的異常火災當我坐上Center = new GeoCoordinate片的ArgumentOutOfRangeException包含以下信息

參數的值必須從-90.0到90.0。 參數名:緯度

但是,newEvent.EventLat是「51.4430624」,所以完全有效的對我是不是?

現在,只有當我在諾基亞Lumia 800上運行它時,纔會出現這種情況,當我在模擬器上啓動它時,它只會正常工作。

所以我真的需要幫助這一個我無法找到它在互聯網上的任何東西。

+0

您是否嘗試過'double.Parse(newEvent.EventLat)'呢?以防萬一......如果您將該值'51.4430624'直接傳遞給'GeoCoordinate'的第一個參數,它是否工作? – SuperOli 2012-04-23 19:29:57

回答

4

但newEvent.EventLat是「51.4430624」如此完全對我有用嗎?

除非手機上的小數點分隔符是,
區域設置是爲了得到一個仿真器和真實的東西之間的錯一個典型的事情。

考慮

//Convert.ToDouble(newEvent.EventLat) 
double.Parse(newEvent.EventLat, CultureInfo.InvariantCulture) 
+0

哇這裏有一個很大的facepalm,我必須強制*文化*來獲得這個工作:S,但除此之外,我非常感謝這樣一個快速和明確的答案。 – MrME 2012-04-23 19:45:34

相關問題