腾讯位置商业授权鸿蒙系统3D沉浸式地图SDK

3D沉浸式地图

地图SDK支持新的沉浸式3D样式, 并开放部份的样式配置能力。

腾讯位置商业授权鸿蒙系统3D沉浸式地图SDK


 

3D沉浸式地图的相关方法

3D沉浸式地图需要通过MapController来调用对应方法

名称 类型 说明
setMapType(mapType: MapType) void 设置地图类型
setImmerseConfig(immerseConfig: ImmerseConfig) void 3D沉浸式样式配置, 地图类型为IMMERSE3D时生效
getImmerseConfig() ImmerseConfig 获取3D沉浸式样式配置


 

ImmerseConfig对象

表示沉浸式3D配置项

构造函数

  • 语法
new ImmerseConfig();
  • 属性说明
名称 类型 说明
is3DAOIEnable boolean 是否显示立面AOI, 默认关闭
minLevel3DAOIDisplay number 立面AOI最小显示级别, 默认16
maxLevel3DAOIDisplay number 立面AOI最大显示级别, 默认22
isPOIDotStyleEnable boolean POI麻点效果是否可用, 默认打开
isRoadNameTranslucentEnable boolean 建筑物遮挡路名半透明是否可用,默认关闭
roadNameTranslucentAlpha number 路名半透透明度,范围:0-1 ,0是完全不显示,1是完全显示,默认1
isCameraBuildingCollisionEnable boolean 是否开启建筑物避让屏幕,默认关闭
isWholeBuildingCollisionEnable boolean 是否完整碰撞:有一部分被碰撞,就整个建筑不显示,默认关闭
isBuildingExtEffectEnable boolean 楼块墙体法线窗格,默认关闭
isShadowEnable boolean 全局阴影开关,默认关闭
shadowStartLevel number 阴影显示起始级别,默认3


 

显示3D沉浸式地图

将当前地图切换为3D沉浸式地图类型,调用示例:

private mapController: MapController | undefined;
build() {
  MapComponent({
    onReady: (err: BusinessError, mapController: MapController) => {
      this.mapController = mapController;
      this.mapController.setMapType(MapType.IMMERSE3D);
    }
  }).width("100%").height("100%")
}


 

修改样式配置

将当前地图切换为3D沉浸式地图类型,调用示例:

private mapController: MapController | undefined;
private defaultImmerseConfig: ImmerseConfig = new ImmerseConfig();

build() {
  MapComponent({
    onReady: (err: BusinessError, mapController: MapController) => {
      this.mapController = mapController;
      this.mapController.setMapType(MapType.IMMERSE3D);
      // 显示3D立面AOI,
      this.defaultImmerseConfig.is3DAOIEnable = true;
      this.mapController?.setImmerseConfig(this.defaultImmerseConfig);
    }
  }).width("100%").height("100%")
}