赞
踩
进入[控制台],创建一个新应用。如果您之前已经创建过应用,可直接跳过这个步骤。
在创建的应用上点击"添加新Key"按钮,在弹出的对话框中,依次:输入应用名名称,选择绑定的服务为“HarmonyOS平台”,输入AppID,如下图所示:
注意
1个KEY只能用于一个应用(多渠道安装包属于多个应用),1个Key在多个应用上使用会出现服务调用失败。
在阅读完高德地图API服务条款后,勾选此选项,点击“提交”,完成 Key 的申请,此时您可以在所创建的应用下面看到刚申请的 Key 了。
请在当前应用的Ablitiy中使用如下代码获取
- let flag = bundleManager.BundleFlag.GET_BUNDLE_INFO_WITH_SIGNATURE_INFO;
- let bundleInfo = bundleManager.getBundleInfoForSelfSync(flag)
- let appId = bundleInfo.signatureInfo.appId;
1. 获取AppID之前需要先配置应用的签名信息。
2. 目前通过DevEco Studio连接云真机获取到的appId不全,只获取到了"包名_", 使用云真机调试高德地图SDK时会导致鉴权不通过,正确的appId形式为:"包名_签名信息", 例如:com.amap.demo_BGtGgVB3ASqU7ar1nHkwX4s0nIexDbEwqNrVoatUDs17GrClWC7V2/zhoYh6tFQHAd5DASWVTEAgvZfzrEGljjs=
使用定位SDK之前,需要在 config.json 文件中进行相关权限设置,确保定位功能可以正常使用。
- ...
- "requestPermissions": [
- {
- "name": "ohos.permission.APPROXIMATELY_LOCATION",
- "usedScene": {
- "abilities": [
- "Harmony_location_demoAbility"
- ],
- "when": "always"
- }
- },
- {
- "name": "ohos.permission.LOCATION",
- "usedScene": {
- "abilities": [
- "Harmony_location_demoAbility"
- ],
- "when": "always"
- }
- },
- {
- "name": "ohos.permission.LOCATION_IN_BACKGROUND",
- "usedScene": {
- "abilities": [
- "Harmony_location_demoAbility"
- ],
- "when": "always"
- }
- },
- {
- "name": "ohos.permission.INTERNET",
- "usedScene": {
- "abilities": [
- "Harmony_location_demoAbility"
- ],
- "when": "always"
- }
- },
- {
- "name": "ohos.permission.KEEP_BACKGROUND_RUNNING",
- "usedScene": {
- "abilities": [
- "Harmony_location_demoAbility"
- ],
- "when": "always"
- }
- }
- ]
- ...

从ohpm仓库获取定位包,依次添加依赖。
- "dependencies": {
- "@amap/amap_lbs_common": "1.0.0",
- "@amap/amap_lbs_location": "1.0.0"
- }
[获取Key]
AMapLocationManagerImpl.setApiKey("您的key");
- AMapLocationManagerImpl.updatePrivacyShow(AMapPrivacyShowStatus.DidShow, AMapPrivacyInfoStatus.DidContain, getContext(this))
- AMapLocationManagerImpl.updatePrivacyAgree(AMapPrivacyAgreeStatus.DidAgree, getContext(this))
- locationManger?: AMapLocationManagerImpl;
- this.locationManger = new AMapLocationManagerImpl(this.context);
- reqPermissionsFromUser(permissions: Array<Permissions>): void {
- let context: Context = getContext(this) as common.UIAbilityContext;
- let atManager: abilityAccessCtrl.AtManager = abilityAccessCtrl.createAtManager();
- // requestPermissionsFromUser会判断权限的授权状态来决定是否唤起弹窗
- atManager.requestPermissionsFromUser(context, permissions).then((data: PermissionRequestResult) => {
- let grantStatus: Array<number> = data.authResults;
- let length: number = grantStatus.length;
- for (let i = 0; i < length; i++) {
- if (grantStatus[i] === 0) {
- // 用户授权,可以继续访问目标操作
- } else {
- // 用户拒绝授权,提示用户必须授权才能访问当前页面的功能,并引导用户到系统设置中打开相应的权限
- return;
- }
- }
- // 授权成功
- }).catch((err: BusinessError) => {
- console.error(`Failed to request permissions from user. Code is ${err.code}, message is ${err.message}`);
- })
- }

如:连续定位
- let listener: IAMapLocationListener = {
- onLocationChanged: (location) => {
- // todo something
- }, onLocationError: (error) => {
- // todo something
- }
- };
-
- let options: AMapLocationOption = {
- priority: geoLocationManager.LocationRequestPriority.FIRST_FIX,
- scenario: geoLocationManager.LocationRequestScenario.UNSET,
- timeInterval: 2,
- distanceInterval: 0,
- maxAccuracy: 0,
- allowsBackgroundLocationUpdates: true,
- locatingWithReGeocode: false,
- reGeocodeLanguage: AMapLocationReGeocodeLanguage.Chinese,
- isOffset: true
- }
-
- this.locationManger?.setLocationListener(AMapLocationType.Updating,listener)
- this.locationManger?.setLocationOption(AMapLocationType.Updating,options)
- this.locationManger?.startUpdatingLocation()
- // 停止定位
- // this.locationManger?.stopUpdatingLocation()

如需在后台定位,则要在应用切入后台前调用开启后台定位任务
this.locationManger?.startContinuousTask()
回到前台可以停止后台任务
this.locationManger?.stopContinuousTask()
至此就可以看到定位相关信息。也可依据参考手册实现单次定位、最后位置等操作。
最后呢,很多开发朋友不知道需要学习那些鸿蒙技术?鸿蒙开发岗位需要掌握那些核心技术点?为此鸿蒙的开发学习必须要系统性的进行。
而网上有关鸿蒙的开发资料非常的少,假如你想学好鸿蒙的应用开发与系统底层开发。你可以参考这份资料,少走很多弯路,节省没必要的麻烦。由两位前阿里高级研发工程师联合打造的《鸿蒙NEXT星河版OpenHarmony开发文档》里面内容包含了(ArkTS、ArkUI开发组件、Stage模型、多端部署、分布式应用开发、音频、视频、WebGL、OpenHarmony多媒体技术、Napi组件、OpenHarmony内核、Harmony南向开发、鸿蒙项目实战等等)鸿蒙(Harmony NEXT)技术知识点
如果你是一名Android、Java、前端等等开发人员,想要转入鸿蒙方向发展。可以直接领取这份资料辅助你的学习。下面是鸿蒙开发的学习路线图。
高清完整版请点击→《鸿蒙NEXT星河版开发学习文档》
针对鸿蒙成长路线打造的鸿蒙学习文档。话不多说,我们直接看详细资料鸿蒙(OpenHarmony )学习手册(共计1236页)与鸿蒙(OpenHarmony )开发入门教学视频,帮助大家在技术的道路上更进一步。
《鸿蒙 (OpenHarmony)开发学习视频》
《鸿蒙生态应用开发V2.0白皮书》
《鸿蒙 (OpenHarmony)开发基础到实战手册》
获取这份鸿蒙星河版学习资料,请点击→《鸿蒙NEXT星河版开发学习文档》
OpenHarmony北向、南向开发环境搭建
《鸿蒙开发基础》
ArkTS语言
安装DevEco Studio
运用你的第一个ArkTS应用
ArkUI声明式UI开发
.……
《鸿蒙开发进阶》
Stage模型入门
网络管理
数据管理
电话服务
分布式应用开发
通知与窗口管理
多媒体技术
安全技能
任务管理
WebGL
国际化开发
应用测试
DFX面向未来设计
鸿蒙系统移植和裁剪定制
……
《鸿蒙开发实战》
ArkTS实践
UIAbility应用
网络案例
……
获取这份鸿蒙星河版学习资料,请点击→《鸿蒙NEXT星河版开发学习文档》
鸿蒙—作为国家主力推送的国产操作系统。部分的高校已经取消了安卓课程,从而开设鸿蒙课程;企业纷纷跟进启动了鸿蒙研发。
并且鸿蒙是完全具备无与伦比的机遇和潜力的;预计到年底将有 5,000 款的应用完成原生鸿蒙开发,未来将会支持 50 万款的应用。那么这么多的应用需要开发,也就意味着需要有更多的鸿蒙人才。鸿蒙开发工程师也将会迎来爆发式的增长,学习鸿蒙势在必行!
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。