2013-07-16 13 views
9

から国/地域名を取得します。 System.Globalizationクラスを通過した後、私は私はスクリーンショット</p> <p><img src="https://i.stack.imgur.com/RwsoO.png" alt="enter image description here"></p> <p>を持っていると私は、「ナイジェリア」であるべき国を取得しようとしていますのWindows Phone 8

System.Globalization.RegionInfo.CurrentRegion.EnglishName 

以下のコードスニペットを見つけました。しかし、私は上記の画像から「地域書式」で「米国」を、取得しています。国/地域の値の設定を取得する方法はありますか?

+0

RegionInfo.CurrentRegion.DisplayNameはどうなっていますか? –

+0

RegionInfo.CurrentRegion.DisplayNameを使用して "United States"という同じ結果が得られます – jade

+0

実際のデバイスでテストを試しましたか? –

答えて

-2

を試してみてください。最初私は位置の座標(緯度と経度)を取得するためにロケーションAPIライブラリを使用する経度と緯度

http://maps.googleapis.com/maps/api/geocode/json?latlng=latitiude,longitude&sensor=true 
に基づいて、位置の情報または詳細情報を取得するために、Googleの逆ジオロケーションを使用して

次いで
 Geolocator geolocator = new Geolocator(); 
     geolocator.DesiredAccuracyInMeters = 50; 

     try 
     { 
      // Request the current position 
      Geoposition geoposition = await geolocator.GetGeopositionAsync(
       maximumAge: TimeSpan.FromMinutes(5), 
       timeout: TimeSpan.FromSeconds(10) 
      ); 

      string latitude = geoposition.Coordinate.Latitude.ToString("0.00"); 
      string longitude = geoposition.Coordinate.Longitude.ToString("0.00");     


     } 
     catch (Exception ex) 
     { 
      if ((uint)ex.HResult == 0x80004004) 
      { 
       // the application does not have the right capability or the location master switch is off 
       MessageBox.Show("Location is disabled in phone settings.", "Can't Detect Location", MessageBoxButton.OK); 

      } 
      //else 
      { 
       // something else happened acquring the location 
       System.Diagnostics.Debug.WriteLine(ex.Message); 
      } 
     } 

すなわち緯度が60であると経度は、JSONの結果から、60

http://maps.googleapis.com/maps/api/geocode/json?latlng=60,60&sensor=true 

であれば、あなたは国のロングとショートを取得することができるようになります名。

+1

くそったような厄介な解決策です。誰かが他の国に行くとどうなりますか?その後、突然、携帯電話の書式設定が変更されます。 –

+1

Microsoftが解決策を思い付くことを願って、Leonにご意見をお寄せください。 – jade

0

使用System.Threading.Thread.CurrentThread.CurrentCulture.電話言語が正しく反映されるはずです。

+0

私は彼が得たいと思う地域ではなく、言語です。 – anderZubi

+0

私はSystem.Threading.Thread.CurrentThread.CurrentCultureを試しました。これは私にen-USのロケール - 国コードを与えます。私が得たいのは、上記の画像iから「ナイジェリア」である国/地域の値の設定です。 – jade

0

は、これは私が一日の終わりに何をしたかである。この

System.Globalization.RegionInfo.CurrentRegion.DisplayName; 
+0

まだ「米国」と表示されていますが、RegionInfoクラスには、国/地域の値ではなく地域の書式の値のみが表示されると思います。 – jade

2

私はそれが古いですけど、多分誰かが答えを探してここに来て:

System.Globalization.RegionInfo.CurrentRegion.TwoLetterISORegionName 
+1

これは2文字のコードのみを返します。米国よりも米国である。また、なぜOPが期待した名前を得られないのかという疑問があるようです。 –

0

ユーザーが求めているものに、正しい答えはこれです:

Windows.System.UserProfile.GlobalizationPreferences.HomeGeographicRegion 

これはあなたの情報を与える必要があります国/地域言語+地域の設定で選択します。

関連する問題

 関連する問題