#跟着坚果学鸿蒙#(逆)地理编码转化
#跟着坚果学鸿蒙#场景介绍 使用坐标描述一个位置,非常准确,但是并不直观,面向用户表达并不友好。 系统向开发者提供了地理编码转化能力(将坐标转化为地理编码信息),以及逆 地理编码转化能力(将地理描述转化为具体坐标)。其中地理编码包含多个属性 来描述位置,包括国家、行政区划、街道、门牌号、地址描述等等,这样的信息 更便于用户理解。
接口说明 进行坐标和地理编码信息的相互转化,所使用的接口说明如下。
开发步骤 1. 实例化 GeoConvert 对象,所有与(逆)地理编码转化能力相关的功能 API,都是通过 GeoConvert 提供的。
GeoConvert geoConvert = new GeoConvert();
获取转化结果。 坐标转化地理位置信息。
geoConvert.getAddressFromLocation(纬度值, 经度值, 1);
参考接口 API 说明,应用可以获得与此坐标匹配的 GeoAddress 列表,应用可 以根据实际使用需求,读取相应的参数数据。 位置描述转化坐标。
geoConvert.getAddressFromLocationName("北京大兴国际机场", 1);
参考接口 API 说明,应用可以获得与位置描述相匹配的 GeoAddress 列表,其 中包含对应的坐标数据,请参考 API 使用。 如果需要查询的位置描述可能出现多地重名的请求,可以同过设置一个经纬度范 围,以便高效获取期望的准确结果。
geoConvert.getAddressFromLocationName("北京大兴国际机场", 纬度下限,
经度下限, 纬度上限, 经度上限, 1);
概述 应用程序可以对系统各类设置项进行增、删、改、查等操作。例如,三方应用提 前注册飞行模式设置项的回调,当用户通过系统设置修改终端的飞行模式状态 时,三方应用会检测到此设置项发生变化并进行适配。如检测到飞行模式开启, 将进入离线状态;检测到飞行模式关闭,其将重新获取在线数据。 基本概念 系统设置数据项分为 TTS(Text To Speech)、Wireless、Network、Input、Sound、 Display、Date、Call、General 九类,应用程序可以根据自身拥有的权限对其进行 操作。
开发指导 场景介绍 TTS、Wireless、Network、Input、Sound、Display、Date、Call、General 九类定义 了表征终端设备状态的相关字段,如屏幕亮度、日期格式、字体显示大小等,应 用程序可以根据自身所拥有的权限对其进行增、删、改、查等操作,并进行相应 的场景适配。
例如:TIME_FORMAT——表示日期格式,应用程序可进行读写。
接口说明 SystemSettings 提供系统设置的相关接口,包括 TTS、Wireless、Network、Input、 Sound、Display、Date、Call、General 九类字段的存储和检索接口。应用程序通 过 AppSettings 类提供的方法对其自身的能力进行查询。
开发步骤 1. 应用程序打开某个 Slice 时,在 OnStart()时,注册相关设置项的回调,并读取一次该 设置项的值,进行初始化适配。
@Override
public void onStart(Intent intent) {
// ...
dataAbilityHelper = DataAbilityHelper.creator(this);
IDataAbilityObserver dataAbilityObserver = new
IDataAbilityObserver() {
@Override
public void onChange() {
String timeFormat =
SystemSettings.getValue(dataAbilityHelper,
SystemSettings.Date.TIME_FORMAT);
setTimeFormat(timeFormat);
}
}; dataAbilityHelper.registerObserver(SystemSettings.getUri(SystemSettin
gs.Date.TIME_FORMAT), dataAbilityObserver);
}
void setTimeFormat(String timeFormat) {
if ("12".equals(timeFormat)) {
// Display in 12-hour format
} else {
// Display in 24-hour format
}
}
在 onStop()时,解除回调注册。
dataAbilityHelper.unregisterObserver(SystemSettings.getUri(SystemSettin
gs.Date.TIME_FORMAT), dataAbilityObserver);
更多推荐
所有评论(0)