百度地图API实战 互动版

在线工具推荐: Three.js AI纹理开发包 - YOLO合成数据生成器 - GLTF/GLB在线编辑 - 3D模型格式在线转换 - 可编程3D场景编辑器

控件使用

这一小节我们将为地图添加上平移缩放控件。

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);