为了更好地便捷大量开发人员,高德开放服务平台地形图SDK已在业界首先完成洪蒙化转移和重新构建,全方位兼容HarmonyOS并朝向开发人员免费发帖。

​一、前言

7月31日,华为公司HarmonyOS开发人员日将在杭州市举办。为了更好地便捷大量开发人员,高德开放服务平台地形图SDK已在业界首先完成洪蒙化转移和重新构建,全方位兼容HarmonyOS并朝向开发人员免费发帖。开发人员可到高德开放服务平台官方网站掌握大量內容,获得版本号免费下载、开发文本、疑难问题等适用。

浏览高德开放服务平台:https://lbs.amap.com/

在2021年6月2日,华为公司就宣布公布了HarmonyOS。因为HarmonyOS在兼容Android上面有特别要求,假如APP运用是用Android API开发设计,开发人员能够立即应用Android的SDK。

但假如APP用了HarmonyOS的API开发设计,就不能用Android的SDK而必须应用HarmonyOS版本号的SDK。

为了更好地便捷开发人员在HarmonyOS的相对应机器设备中开展LBS服务项目的开发设计,高德开放服务平台首先开展了HarmonyOS兼容,第一批兼容范畴包含地形图和检索SDK,适用置入配用HarmonyOS的手机上、Pad以及他移动智能终端机器设备。

二、HarmonyOS地形图SDK特点详细介绍

与高德开放服务平台Android地图SDK光滑转换

  • 已集成化高德开放服务平台Android地图SDK的开发人员可无缝拼接转换到HarmonyOS地形图SDK,无附加开发量。HarmonyOS与Android系统软件间的插口转变由高德开放服务平台SDK兼容层消化吸收,SDK对外开放插口维持不会改变。
  • 百度地图最底层模块连接HarmonyOS NDK,顶层编码全方位连接HarmonyOS SDK,全部系统软件插口均应用HarmonyOS API。

承继高德开放服务平台Android/iOS地形图SDK作用闪光点

  • 开发人员能够根据高德开放服务平台API和SDK,轻轻松松进行地形图的搭建工作中,将地形图精美地展现在您的运用中。地形图SDK不但给予丰富多彩的地形图覆盖层制作工作能力,也适用检索、多种多样最短路径算法、坐标转换、距离测量、面积换算等作用。

  • 兼容HarmonyOS后的地形图SDK依然适用与自定地形图SaaS服务平台等附近专用工具相互配合应用,开发人员能够在服务平台中订制地区面、房屋建筑、水体、天上、路面、标明、行政部门界限共7类别40多种地形图原素,灵便设计方案心爱的地形图款式。大量地形图SDK基本工作能力、自定、数据可视化工作能力敬请参照高德开放服务平台官方网站。

HarmonyOS版地形图SDK总体架构

HarmonyOS和Android系统软件差别非常大,基本上全部的API都是有调节,许多API都调节了完成计划方案,因此 不可以根据改包名来完成兼容。大家将原生态SDK中全部启用Android的编码均转换为兼容层,在兼容层将SDK的插口一一兼容到HarmonyOS插口。

HarmonyOS版地形图SDK总体架构大概以下:

三、怎样集成化-从零开始

第一步 构建HarmonyOS开发工具

进行DevEco Studio安裝、自然环境配备和工程项目建立,参照HarmonyOS官方网站表明:https://developer.harmonyos.com/cn/docs/documentation/doc-guides/start-overview-000000000002960

第二步 配备运用的签字信息内容

运用工程项目建立进行后,必须配备签字信息内容,才能够应用真机调节和公布运用。

第三步 获得运用的appId

配备完签字信息内容以后,就可以获得当今运用的appId了,这一appId关键用以申请办理百度地图的apiKey,请明确最后公布运用的appId,避免 最后百度地图SDK鉴权失败。

根据编码获得运用的appId方法以下:

getApplicationContext().getBundleManager().getBundleInfo(getBundleName(), 0).getAppId()

留意:现阶段根据DevEco Studio联接云真机获得到的appId不全,只获得到"包名_", 应用云真机调节高德导航SDK的时候会造成身份验证不通过。恰当的appId方式为:"包名_签字信息内容", 比如:com.amap.demo_BGtGgVB3ASqU7XXXXV2/zhoYh6tFQHAd5DASWVTEAgvZfzrEGljjs=

第四步 在高德开放服务平台官方网站控制面板申请办理API Key

建立新运用

从开发者平台官方网站右上方通道-控制面板,建立一个新运用。假如您以前早已建立过运用,可立即绕过这一流程。

 

加上新Key

在建立的运用上点一下"加上新Key"按键,在弹出来的提示框中,先后:键入运用名名字,挑选关联的服务项目为“Harmony服务平台SDK”,键入AppID,如下图所显示:

必须留意:一个Key只有用以一个运用(多种渠道安装文件归属于好几个运用),一个Key在好几个运用上应用会发生服务项目启用不成功。

在阅读文章完百度地图地图API服务条款后,启用此选择项,点一下“递交”,进行Key的申请办理,这时您能够在所建立的运用下边见到刚申请办理的Key了。

第五步 在编码中设定申请办理的Key

请应用API的方法将申请办理的百度地图API Key设定给高德导航SDK。

/**
 * 动态性设定apiKey。
 *
 * @param apiKey 在高德官网上申请办理的apiKey。
 */
MapsInitializer.setApiKey(String apiKey)

留意:请保证在启用一切高德导航SDK的插口以前将API Key设定给高德导航SDK,提议放进Application的复位当中。

进行之上5步以后,就可以开心的应用HarmonyOS版高德导航SDK了。

四、怎么使用-建立地形图

应用地形图SDK以前,必须在config.json文档中开展有关权限管理,保证地图应用能够一切正常应用。

第一步 配备config.json

最先,申明管理权限。

...
"reqPermissions": [
      {
        "usedScene": {
          "ability": [
            "com.example.harmonysearchsdk.MainAbility"
          ],
          "when": "always"
        },
        "reason": "request internet",
        "name": "ohos.permission.INTERNET"
      }
    ]
...

第二步 向工程项目中加上地形图开发包

将har包放进libs文件目录下,先后加上依靠。

dependencies {
    implementation files("libs/xxx.har")
    //...
}

或是立即应用引进libs下全部har包的方法:

dependencies {
  implementation fileTree(dir: 'libs', include: ['*.jar', '*.har'])
    //...
}

第三步 复位地形图器皿

设定Key

获得Key方法请参照上边“从零开始”章节目录第四步。

MapsInitializer.setApiKey("您的key");

 

建立MapView

public class BasicMapDemoSlice extends Ability {

    private MapView mapView;

    @Override
    protected void onStart(Intent intent) {
        super.onStart(intent);
        initMapView();
    }

    private void initMapView() {
        mapView = new MapView(this);

        mapView.onCreate(null);   mapView.onResume();
        DirectionalLayout.LayoutConfig config = new DirectionalLayout.LayoutConfig(
                DirectionalLayout.LayoutConfig.MATCH_PARENT, DirectionalLayout.LayoutConfig.MATCH_PARENT);
        mapView.setLayoutConfig(config);
        super.setUIContent(mapView);
    }

    @Override
    protected void onStop() {
        super.onStop();
        if (mapView != null) {
            mapView.onDestroy();
        }
    }
}

复位地形图并获得AMap目标

AMap aMap = mapView.getMap();
aMap.setOnMapLoadedListener(new AMap.OnMapLoadedListener() {
    @Override
    public void onMapLoaded() {
    // todo
    }
});

到此就可以见到地形图展现,而且取得AMap目标后,就可以往地图上加上点线面等覆盖层了。

五、获得大量详细信息和开发设计适用

浏览高德开放服务平台:https://lbs.amap.com/

获得HarmonyOS版高德导航SDK免费下载、开发文本、Demo等开发设计适用:https://lbs.amap.com/api/harmonyos-sdk/summary/

评论(0条)

刀客源码 游客评论