3

通过使用phonegap开始构建应用程序来获取国家/地区iso代码的最佳和最快方法是什么?有一个获取地理坐标的功能,但不是 Iso 代码。要获取 iso 代码,可能需要调用外部 web 服务并通过给定坐标获取 iso。有没有最简单的方法?

谢谢尼克

4

2 回答 2

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();
于 2012-04-10T20:13:45.803 回答
0

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

否则,随意浏览HTML5 Geolocation 规范似乎表明您需要 Web 服务或在应用程序中使用代码打包数据文件。似乎是一个不错的选择。

于 2011-01-02T13:18:30.217 回答