GeolocationControl

此类表示使用浏览器定位功能的地图定位控件。 控件包含 32px x 32px 的定位按钮和位于按钮右侧、高度为 32px 的定位结果地址区域 anchor 属性表示包含定位结果地址文字在内的整体停靠位置;停靠在右侧时,offset 从定位结果区域的右侧计算。

构造函数

  • 创建地图定位控件

    参数类型说明
    opts 可选GeolocationControlOptions可选参数
    属性类型说明
    anchorControlAnchor控件的停靠位置
    autoViewportboolean定位成功后是否调整视野
    autoZoomboolean定位成功后是否调整级别
    enableAutoLocationboolean添加控件时是否自动进行定位
    locationIconIcon自定义定位中心点的图标样式
    offsetSize控件基于停靠位置的偏移量,默认值为 new BMap.Size(10, 50)
    onLocationStartFunction定位开始前的回调函数,如果返回 false,则不再执行定位操作
    showAddressBarboolean是否显示定位信息面板
    useCompassboolean是否开启罗盘功能,仅对 iOS 系统有效
    watchPositionboolean是否开启跟踪用户位置,开启后控件会实时跟踪显示用户的当前位置

    返回值 GeolocationControl

    示例代码1

    const geolocationControl = new BMap.GeolocationControl({
    anchor: BMAP_ANCHOR_BOTTOM_LEFT,
    showAddressBar: true,
    enableAutoLocation: false,
    });
    map.addControl(geolocationControl);

属性

控件默认停靠位置,自定义控件时需提供此属性

控件默认偏移量,自定义控件时需提供此属性

方法

  • 添加事件监听。

    参数类型说明
    eventK事件名称
    handler(e: GeolocationControlEventMap[K]) => void事件处理函数

    返回值 void

  • 隐藏控件

    返回值 void

  • 抽象生命周期方法,用于初始化控件,当调用 map.addControl() 时内部将调用此方法。

    仅在自定义控件时需要实现此方法,并返回控件的 DOM 元素,DOM 元素需通过 map.getContainer() 添加到地图容器中。 内置控件(ZoomControlScaleControl 等)已在内部实现,用户无需调用也无需重写。

    参数类型说明
    mapMap地图实例

    返回值 HTMLElement

    示例代码1

    class MyControl extends BMap.Control {
    initialize(map: BMap.Map) {
    const div = document.createElement('div');
    div.textContent = '自定义控件';
    map.getContainer().appendChild(div);
    return div;
    }
    }
  • 返回控件的可见状态

    返回值 boolean

  • 开始进行定位

    返回值 void

    示例代码1

    geolocationControl.location();
    
  • 移除事件监听

    参数类型说明
    eventK事件名称
    handler(e: GeolocationControlEventMap[K]) => void事件处理函数

    返回值 void

  • 设置控件停靠位置

    参数类型说明
    anchorControlAnchor停靠位置

    返回值 void

    示例代码2

    control.setAnchor(BMAP_ANCHOR_TOP_LEFT);
    
  • 设置控件停靠偏移量

    参数类型说明
    offsetSize偏移量

    返回值 void

    示例代码3

    control.setOffset(new BMap.Size(20, 20));
    
  • 设置定位控件的配置参数

    参数类型说明
    optionsGeolocationControlOptions配置参数
    属性类型说明
    anchorControlAnchor控件的停靠位置
    autoViewportboolean定位成功后是否调整视野
    autoZoomboolean定位成功后是否调整级别
    enableAutoLocationboolean添加控件时是否自动进行定位
    locationIconIcon自定义定位中心点的图标样式
    offsetSize控件基于停靠位置的偏移量,默认值为 new BMap.Size(10, 50)
    onLocationStartFunction定位开始前的回调函数,如果返回 false,则不再执行定位操作
    showAddressBarboolean是否显示定位信息面板
    useCompassboolean是否开启罗盘功能,仅对 iOS 系统有效
    watchPositionboolean是否开启跟踪用户位置,开启后控件会实时跟踪显示用户的当前位置

    返回值 void

  • 显示控件

    返回值 void

  • 开始执行定位

    返回值 void

    示例代码1

    geolocationControl.startLocation();
    
  • 停止跟踪用户的位置

    返回值 void

    示例代码1

    geolocationControl.stopLocationTrace();