控件使用
这一小节我们将为地图添加上平移缩放控件。
1、控件的简介
百度地图为我们提供了许多控件平移缩放(NavigationControl)、比例尺(ScaleControl)、缩略地图(OverviewMapControl)、地图类型(MapTypeControl)、版权(CopyrightControl等等,在这一节,我将为地图添加平移缩放控件。
2、向地图添加控件
我们需要为我们的地图添加平移缩放控件
map.addControl(new BMap.NavigationControl(opts));
3、很多时候我们需要改变控件位置,那么该怎么办呢?
有两种方式,在讲解两种方式之前我们需要对对Size这个类进行讲解
我们可以使用Size(width:Number, height:Number)的方式构造出一个Size对象,width代表水平方向数值,height代表垂直方向数值。
4、设置控件位置的方式
1)在构造对象时对位置进行设置,我们可以使用通过传入一个对象参数构造控件对象
这个对象中有anchor和offset属性共同控制控件在地图上的位置。
其中anchor允许的值为:
BMAP_ANCHOR_TOP_LEFT 表示控件定位于地图的左上角。
BMAP_ANCHOR_TOP_RIGHT 表示控件定位于地图的右上角。
BMAP_ANCHOR_BOTTOM_LEFT 表示控件定位于地图的左下角。
BMAP_ANCHOR_BOTTOM_RIGHT 表示控件定位于地图的右下角。
注意Size中的width,height是以anchor为参照的。
使用方式:
例如:new BMap.ScaleControl({offset:new BMap.Size(100, 100)})
2)可以使用setAnchor(anchor)和setOffset(offset:Size)设置 例如:
var navigationControl = new BMap.NavigationControl();
navigationControl.setAnchor(BMAP_ANCHOR_TOP_LEFT);
navigationControl.setOffset(new BMap.Size(20,20));
map.addControl(navigationControl);
修改右方代码,让比例尺控件定位于地图的右上角
navigationControl.setAnchor(BMAP_ANCHOR_TOP_RIGHT);