Javascript 爱奥尼亚混合移动应用程序获取设备位置

Javascript 爱奥尼亚混合移动应用程序获取设备位置,javascript,angular,cordova,typescript,ionic-framework,Javascript,Angular,Cordova,Typescript,Ionic Framework,我们正在开发一款带有Ionic/Cordova和Angular 5的移动应用程序。我们必须根据设备设置的区域设置,以公制或英制显示距离。在应用程序的这一点上,我们已经有了一个以米为单位的值,我们必须相应地进行转换 我们不想再进行另一次网络呼叫,因此必须从设备中提取区域设置 我们的技术堆栈是否有内置的方式来实现这一点,或者是否有用于提取设备设置的插件 我们使用: 离子3 角度5 打字稿2.4 cordova安卓6.3 cordova ios 4.5.4 我找到了这本指南,我们更愿意使用LOCALE

我们正在开发一款带有Ionic/Cordova和Angular 5的移动应用程序。我们必须根据设备设置的区域设置,以公制或英制显示距离。在应用程序的这一点上,我们已经有了一个以米为单位的值,我们必须相应地进行转换

我们不想再进行另一次网络呼叫,因此必须从设备中提取区域设置

我们的技术堆栈是否有内置的方式来实现这一点,或者是否有用于提取设备设置的插件

我们使用:

离子3 角度5 打字稿2.4 cordova安卓6.3 cordova ios 4.5.4 我找到了这本指南,我们更愿意使用LOCALE\u ID,但这不是必须的。

使用新的navigator对象。如果您正在创建一个混合应用程序,我假设您的浏览器版本是最新的

let lang = navigator.language || navigator.userLanguage; // Language
let showPosition = (position) => {
  position.coords.latitude;
  position.coords.longitude; 
}
navigator.geolocation.getCurrentPosition(showPosition); // Geoposition
使用新的navigator对象您正在创建一个混合应用程序,我假设您正在更新浏览器的版本

let lang = navigator.language || navigator.userLanguage; // Language
let showPosition = (position) => {
  position.coords.latitude;
  position.coords.longitude; 
}
navigator.geolocation.getCurrentPosition(showPosition); // Geoposition

我们找到了一种解决方案,它可以在移动设备上工作,而无需进行另一次网络呼叫。第一行从设备设置中读取区域设置,第二行提取区域设置所在的国家/地区

不幸的是,这在浏览器中是不可靠的,但对于我们的仅移动设备用例来说已经足够好了

const locale = window.navigator.language;
const country = locale.split('-')[1];

我们找到了一种解决方案,它可以在移动设备上工作,而无需进行另一次网络呼叫。第一行从设备设置中读取区域设置,第二行提取区域设置所在的国家/地区

不幸的是,这在浏览器中是不可靠的,但对于我们的仅移动设备用例来说已经足够好了

const locale = window.navigator.language;
const country = locale.split('-')[1];

我们不想再进行网络呼叫,我们需要本地设备设置,什么?这正是您给出的答案,并标记为已解决,这里绝对没有网络呼叫。我不欣赏这种行为……你的答案似乎完全正确,但对于我们的用例来说太具体了。我们不需要位置,我们只需要设备设置的国家/地区。请看我的澄清,谢谢你的努力。你的澄清就是我的答案。这是我提供的代码的第一行。我给你们地理位置是因为你们可以根据地理位置而不是语言偏好来确定你们的单位系统,例如,在美国,你们可以显示英制单位。你是说我给你的答案太多了,所以不是你问的?我们不想再打一次网络电话,我们需要本地设备设置,什么?这正是您给出的答案,并标记为已解决,这里绝对没有网络呼叫。我不欣赏这种行为……你的答案似乎完全正确,但对于我们的用例来说太具体了。我们不需要位置,我们只需要设备设置的国家/地区。请看我的澄清,谢谢你的努力。你的澄清就是我的答案。这是我提供的代码的第一行。我给你们地理位置是因为你们可以根据地理位置而不是语言偏好来确定你们的单位系统,例如,在美国,你们可以显示英制单位。你是说我给你的答案太多了,所以不是你问的问题?澄清:我们只想知道用户的手机是否设置为美国地区,所以我们可以决定向他显示英制或公制单位。澄清:我们只想知道用户的手机是否设置为美国地区,所以我们可以给他看英制或公制单位。是的,我试过这个。我的语言是en-US,但我的国家是印度。这样失败了,告诉我是否还有其他的解决方法。是的,我试过了。我的语言是en-US,但我的国家是印度。这样失败了,请告诉我是否还有其他解决方法。