借助Google上的操作,推荐哪种方式可以让用户的国家/地区获得粗略的位置信息?

时间:2018-01-14 15:46:46

标签: actions-on-google

getDeviceLocation()调用可以返回纬度/经度坐标(如果曲面提供精确的位置信息)或邮政编码以及城市的粗略位置信息。

前者可以使用Google Maps API对坐标进行反向地理编码,但后者可能不明确,因为没有提供国家/地区信息。如果只提供粗略的权限,是否有建议的方法来消除设备位置的歧义?

更具体的例子:

const requestedPermission = app.data.requestedPermission;
const permissions = app.SupportedPermissions;
if (requestedPermission === permissions.DEVICE_COARSE_LOCATION) {
  // Not available! We've only got .zipCode and .city.
  const countryCode = app.getDeviceLocation().countryCode;
  doSomethingBasedOnCountry(countryCode);
}
if (requestedPermission === permissions.DEVICE_PRECISE_LOCATION) {
  const { coordinates } = app.getDeviceLocation();
  return coordinatesToCountryCode(mapsClient, coordinates.latitude, coordinates.longitude)
    .then(doSomethingBasedOnCountry);
}