百度地图各种控件:地图平移缩放控件NavigationControl、地图类型控件MapTypeControl
注:代码复制即可用,标色代码为主要代码
百度地图提供了如下控件:
1.Control:控件的抽象基类,所有控件均继承此类的方法、属性。通过此类您可实现自定义控件。
2.NavigationControl:地图平移缩放控件,PC端默认位于地图左上方,它包含控制地图的平移和缩放的功能。移动端提供缩放控件,默认位于地图右下方。
3.OverviewMapControl:缩略地图控件,默认位于地图右下方,是一个可折叠的缩略地图。
4.ScaleControl:比例尺控件,默认位于地图左下方,显示地图的比例关系。
5.MapTypeControl:地图类型控件,默认位于地图右上方(地图,卫星,三维)。
6.CopyrightControl:版权控件,默认位于地图左下方。
7.GeolocationControl:定位控件,针对移动端开发,默认位于地图左下方。
html示例
<div id="map">div>
NavigationControl:地图平移缩放控件
let map = new BMap.Map("map"); map.centerAndZoom(new BMap.Point(104.07258, 30.550701), 5); map.enableScrollWheelZoom(true); let opts = { anchor: BMAP_ANCHOR_TOP_RIGHT }; map.addControl(new BMap.NavigationControl(opts));MapTypeControl:地图类型控件
let map = new BMap.Map("map"); map.centerAndZoom(new BMap.Point(104.07258, 30.550701), 5); map.enableScrollWheelZoom(true); let opts = { anchor: BMAP_ANCHOR_TOP_RIGHT } map.addControl(new BMap.MapTypeControl(opts))修改控件停靠位置
初始化控件时,可提供一个可选参数,其中的anchor和offset属性共同控制控件在地图上的位置
anchor表示控件的停靠位置,即控件停靠在地图的哪一个角。当地图尺寸发生变化时,控件会根据停靠位置的不一样来调整本身的位置。anchor容许的值为:
- BMAP_ANCHOR_TOP_LEFT 表示控件定位于地图的左上角。
- BMAP_ANCHOR_TOP_RIGHT 表示控件定位于地图的右上角。
- BMAP_ANCHOR_BOTTOM_LEFT 表示控件定位于地图的左下角。
- BMAP_ANCHOR_BOTTOM_RIGHT 表示控件定位于地图的右下角
offset设置停靠位置
var opts = {offset: new BMap.Size(150, 5)} map.addControl(new BMap.ScaleControl(opts));
anchor设置停靠位置
let opts = {
anchor: BMAP_ANCHOR_TOP_RIGHT
}
修改控件配置
地图API的控件提供了丰富的配置参数,您可参考API文档来修改它们以便获得符合要求的控件外观。例如,NavigationControl控件就提供了以下类型:htm
- BMAP_NAVIGATION_CONTROL_LARGE 表示显示完整的平移缩放控件。
- BMAP_NAVIGATION_CONTROL_SMALL 表示显示小型的平移缩放控件。
- BMAP_NAVIGATION_CONTROL_PAN 表示只显示控件的平移部分功能。
- BMAP_NAVIGATION_CONTROL_ZOOM 表示只显示控件的缩放部分功能。
下图从左向右依次展现了上述不一样类型的控件外观: