华为地图this.mapController?.setMyLocationControlsEnabled(false)还是会显示我的位置按钮

华为地图this.mapController?.setMyLocationControlsEnabled(false)还是会显示我的位置按钮-鸿蒙开发者社区

如图,想隐藏它。

HarmonyOS
2024-09-10 11:38:20
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
FengTianYa

mapcontroller需要在aboutappear中初始化,同时setMyLocationControlsEnabled的默认值是false,可以不用进行设置。

可以参考以下代码:

import { MapComponent, mapCommon, map } from '@kit.MapKit'; 
import { AsyncCallback } from '@ohos.base'; 
 
@Entry 
@Component 
struct HuaweiMapDemo { 
  private TAG = "HuaweiMapDemo"; 
  private mapOption?: mapCommon.MapOptions; 
  private callback?: AsyncCallback<map.MapComponentController>; 
  private mapController?: map.MapComponentController; 
 
  aboutToAppear(): void { 
    // 地图初始化参数,设置地图中心点坐标及层级 
    this.mapOption = { 
      position: { 
        target: { 
          latitude: 39.9, 
          longitude: 116.4 
        }, 
        zoom: 10 
      } 
    }; 
 
    // 地图初始化的回调 
    this.callback = async (err, mapController) => { 
      if (!err) { 
        // 获取地图的控制器类,用来操作地图 
        this.mapController = mapController; 
        this.mapController.setMyLocationControlsEnabled(false); 
      } 
    }; 
  } 
 
  build() { 
    Stack() { 
      // 调用MapComponent组件初始化地图 
      MapComponent({ mapOptions: this.mapOption, mapCallback: this.callback }).width('100%').height('100%'); 
    }.height('100%') 
  } 
}
分享
微博
QQ
微信
回复
2024-09-10 17:59:05
相关问题
HarmonyOS 华为地图显示
381浏览 • 1回复 待解决
HarmonyOS 华为地图全屏化
42浏览 • 1回复 待解决
如何拉起华为app界面
2221浏览 • 0回复 待解决