参考资料
一、api讲解
1、准备工作
权限集成,需要在config.json文件中添加定位权限,代码如下所示
"reqPermissions": [
{"name": "ohos.permission.LOCATION"}
],
在MainAbility界面进行动态申请定位权限,代码如下
String[] permissions = {
SystemPermission.LOCATION
};
requestPermissionsFromUser(permissions, 0);
2、实例化Locator对象
实例化Locator对象,代码如下
Locator locator = new Locator(context);
3、实例化LocatorCallback对象
实例化LocatorCallback对象,用于向系统提供位置上报的途径,代码如下
/**
* 定位回调
*/
public class MyLocatorCallback implements LocatorCallback {
/**
* 定位成功的回调,用于开发者获取具体地理的经纬度详细信息
* @param location 定位成功返回的对象
*/
@Override
public void onLocationReport(Location location) {
}
/**
*定位的时候,定位服务状态发生改变的时候,触发这个函数
* @param type 服务状态码,有如下几个状态
* Locator.SESSION_START 表示定位请求已被系统接受。
* Locator.SESSION_STOP 指示位置请求已完成。
*/
@Override
public void onStatusChanged(int type) {
HiLog.error(LABEL,"状态改变");
}
/**
* 定位失败触发此函数
* @param type 定位失败错误码,具体状态如下
* 1. Locator.ERROR_PERMISSION_NOT_GRANTED: