Phonegap - 从用户发现国家iso代码的最佳方式

时间:2011-01-02 12:24:30

标签: cordova iso

获得国家ISO代码的最佳和最快方法是什么? 使用phonegap开始构建应用程序?有一个功能来获得 地理坐标,但不是Iso代码。为了得到iso代码可能 有必要调用外部Web服务并获取iso 给定坐标。有最简单的方法吗?

由于 尼克

2 个答案:

答案 0 :(得分:1)

我发现navigator.language有时只给我语言而不是语言环境(例如“en”而不是“en-gb”)。为了在android中解决这个问题,我在src / com中创建了一个名为DeviceCulture.java的新java类,其代码如下:

package com;
import java.util.Locale;

public class DeviceCulture {

    public String get() {
        try{            
            return Locale.getDefault().toString();//get the locale from the Android Device      
        }catch(Exception e){
            return "";
        }   
    }
}

然后在/src/com/phonegap/YOUR_APP/App.java中的super.loadUrl行之前添加它

DeviceCulture deviceCulture = new DeviceCulture();
appView.addJavascriptInterface(deviceCulture , "DeviceCulture");

然后在你的javascript中使用它来获取语言环境(例如“en_GB”)

window.DeviceCulture.get();

答案 1 :(得分:0)

您是在寻找用户目前的位置还是更像用户语言/国家/地区的内容?对于后者,您可以随时查看navigator.language中的内容。根据目标平台,它将为您提供语言代码(我的Android测试机器上的'en')或语言代码和国家/地区代码(我的iOS测试机上的'en-us')。要查看它会给您带来什么,请使用您设备的库存浏览器here,然后在文本输入框中输入navigator.language

否则,随意浏览the HTML5 Geolocation spec似乎表明您需要Web服务或在应用程序中打包带代码的数据文件。 This似乎是一个非常好的。