GeolocationControl
构造函数
创建地图定位控件
参数 类型 说明 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);
方法
- #addEventListener<K extends keyof GeolocationControlEventMap>(
event: K,
handler: (e: GeolocationControlEventMap[K]) => void,
): void添加事件监听。
参数 类型 说明 eventK事件名称 handler(e: GeolocationControlEventMap[K]) => void事件处理函数 返回值 void
返回当前的定位地址信息,若尚未定位则返回 null
返回值 AddressComponent
get Anchor
返回控件停靠位置
返回值 ControlAnchor
get Offset
返回控件停靠偏移量
返回值 Size
hide
- hide(): void
隐藏控件
返回值 void
initialize
抽象生命周期方法,用于初始化控件,当调用 map.addControl() 时内部将调用此方法。
仅在自定义控件时需要实现此方法,并返回控件的 DOM 元素,DOM 元素需通过 map.getContainer() 添加到地图容器中。 内置控件(
ZoomControl、ScaleControl等)已在内部实现,用户无需调用也无需重写。参数 类型 说明 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;
}
}
is Visible
- isVisible(): boolean
返回控件的可见状态
返回值 boolean
开始进行定位
返回值 void
示例代码1
geolocationControl.location();
- #removeEventListener<K extends keyof GeolocationControlEventMap>(
event: K,
handler: (e: GeolocationControlEventMap[K]) => void,
): void移除事件监听
参数 类型 说明 eventK事件名称 handler(e: GeolocationControlEventMap[K]) => void事件处理函数 返回值 void
set Anchor
set Offset
设置定位控件的配置参数
参数 类型 说明 optionsGeolocationControlOptions配置参数 属性 类型 说明 anchorControlAnchor控件的停靠位置 autoViewportboolean定位成功后是否调整视野 autoZoomboolean定位成功后是否调整级别 enableAutoLocationboolean添加控件时是否自动进行定位 locationIconIcon自定义定位中心点的图标样式 offsetSize控件基于停靠位置的偏移量,默认值为 new BMap.Size(10, 50) onLocationStartFunction定位开始前的回调函数,如果返回 false,则不再执行定位操作 showAddressBarboolean是否显示定位信息面板 useCompassboolean是否开启罗盘功能,仅对 iOS 系统有效 watchPositionboolean是否开启跟踪用户位置,开启后控件会实时跟踪显示用户的当前位置 返回值 void
show
- show(): void
显示控件
返回值 void
开始执行定位
返回值 void
示例代码1
geolocationControl.startLocation();
停止跟踪用户的位置
返回值 void
示例代码1
geolocationControl.stopLocationTrace();
此类表示使用浏览器定位功能的地图定位控件。 控件包含 32px x 32px 的定位按钮和位于按钮右侧、高度为 32px 的定位结果地址区域
anchor属性表示包含定位结果地址文字在内的整体停靠位置;停靠在右侧时,offset从定位结果区域的右侧计算。