通过使用phonegap开始构建应用程序来获取国家/地区iso代码的最佳和最快方法是什么?有一个获取地理坐标的功能,但不是 Iso 代码。要获取 iso 代码,可能需要调用外部 web 服务并通过给定坐标获取 iso。有没有最简单的方法?
谢谢尼克
我发现 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();
您是在寻找用户当前的位置还是更类似于用户的语言/国籍?对于后者,您总是可以查看navigator.language
. 根据目标平台,它会为您提供语言代码(我的 Android 测试机上的“en”)或语言代码和国家/地区代码(我的 iOS 测试机上的“en-us”)。要查看它会给您带来什么,请在此处使用您设备的库存浏览器并navigator.language
在文本输入框中输入。
否则,随意浏览HTML5 Geolocation 规范似乎表明您需要 Web 服务或在应用程序中使用代码打包数据文件。这似乎是一个不错的选择。