2013-07-16 16 views
9

से देश/क्षेत्र नाम प्राप्त मैं स्क्रीनशॉटविंडोज फोन 8

enter image description here

है और मैं देश जो होना चाहिए "नाइजीरिया" पुनः प्राप्त करने के लिए इच्छुक हूँ। System.Globalization वर्ग अध्ययन करने के बाद मैं

System.Globalization.RegionInfo.CurrentRegion.EnglishName 

लेकिन मैं "संयुक्त राज्य अमेरिका" है, जो ऊपर की छवि से "क्षेत्रीय प्रारूप" है हो रही है नीचे दिए गए कोड स्निपेट नहीं मिला। क्या देश/क्षेत्र मूल्य सेटिंग्स को पुनर्प्राप्त करने का कोई तरीका नहीं है?

+0

आप RegionInfo.CurrentRegion.DisplayName के साथ क्या प्राप्त करते हैं? –

+0

मुझे RegionInfo.CurrentRegion.DisplayName – jade

+0

का उपयोग करके "संयुक्त राज्य" का एक ही परिणाम मिलता है क्या आपने वास्तविक डिवाइस पर परीक्षण करने का प्रयास किया है? –

उत्तर

-2

यह क्या मैं दिन के अंत में किया है की कोशिश करो। सबसे पहले मैं स्थान API पुस्तकालय इस्तेमाल किया स्थान के निर्देशांक (देशांतर और अक्षांश) प्राप्त करने के लिए

 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); 
      } 
     } 

तो गूगल रिवर्स जियोलोकेशन का उपयोग कर देशांतर और अक्षांश

http://maps.googleapis.com/maps/api/geocode/json?latlng=latitiude,longitude&sensor=true 
के आधार पर जानकारी या स्थान की जानकारी प्राप्त करने के लिए

यानी अगर अक्षांश 60 है और देशांतर 60

http://maps.googleapis.com/maps/api/geocode/json?latlng=60,60&sensor=true 
json परिणाम से

है, तो आप देश की लंबी और छोटी को पुनः प्राप्त करने में सक्षम हो जाएगा नाम।

+1

नहीं दिखाती है, यह इतना बुरा समाधान है। क्या होगा जब कोई दूसरे देश में जाए? फिर अचानक उसके फोन में स्वरूपण बदल गया है। –

+1

अपना पॉइंट लियोन प्राप्त करें, इच्छा है कि माइक्रोसॉफ्ट एक समाधान के साथ आएगा। – jade

0

System.Threading.Thread.CurrentThread.CurrentCulture. का उपयोग करें इसे फ़ोन भाषा को सही ढंग से प्रतिबिंबित करना चाहिए।

+0

नहीं देता है, मुझे लगता है कि वह प्राप्त करना चाहता है क्षेत्र, भाषा नहीं। – anderZubi

+0

मैंने सिस्टम की कोशिश की है। थ्रेडिंग। थ्रेड। कंटेंट थ्रेड। कंटेंटकल्चर, यह मुझे लोकेल-कंट्री कोड देगा जो एन-यूएस था। मैं जो प्राप्त करना चाहता हूं वह देश/क्षेत्र मूल्य सेटिंग है जो ऊपर पोस्ट की गई छवि से "नाइजीरिया" है। – jade

0

इस

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

अभी भी "संयुक्त राज्य" दिखाता है, मुझे लगता है कि RegionInfo कक्षा केवल क्षेत्रीय प्रारूप मानों को देश/क्षेत्र मूल्य – jade

2

मैं जानता हूँ कि वह पुराना हो, लेकिन शायद किसी को यहाँ जवाब की तलाश में आता है:

Windows.System.UserProfile.GlobalizationPreferences.HomeGeographicRegion 

यह आपको के बारे में जानकारी देना चाहिए:

System.Globalization.RegionInfo.CurrentRegion.TwoLetterISORegionName 
+1

यह केवल दो अक्षर कोड देता है, उदा। 'संयुक्त राज्य अमेरिका 'के बजाय' यूएस'।इसके अलावा, सवाल यह प्रतीत होता है कि ओपी को वह नाम क्यों नहीं मिला है जिसकी वह उम्मीद कर रही थी। –

0

क्या उपयोगकर्ता पूछ रहा है करने के लिए सही जवाब यह है देश/क्षेत्रभाषा + क्षेत्र सेटिंग में चयन।

संबंधित मुद्दे