
控件位置偏移
除了指定停靠位置外,还可以通过偏移量来指示控件距离地图边界有多少像素。如果两个控件的停靠位置相同,那么控件可能会重叠在一起,这时就可以通过偏移值使二者分开显示。
本示例将比例尺放置在地图的左下角,由于API默认会有版权信息,因此需要添加一些偏移值以防止控件重叠。
复制代码 代码如下:
var opts = {offset: new BMap.Size(150, 5)}
map.addControl(new BMap.ScaleControl(opts));
修改控件配置
地图API的控件提供了丰富的配置参数,您可参考API文档来修改它们以便得到符合要求的控件外观。例如,NavigationControl控件就提供了如下类型:
复制代码 代码如下:
BMAP_NAVIGATION_CONTROL_LARGE 表示显示完整的平移缩放控件。
BMAP_NAVIGATION_CONTROL_SMALL 表示显示小型的平移缩放控件。
BMAP_NAVIGATION_CONTROL_PAN 表示只显示控件的平移部分功能。
BMAP_NAVIGATION_CONTROL_ZOOM 表示只显示控件的缩放部分功能。
下图从左向右依次展示了上述不同类型的控件外观:

上图前4个为PC端平移缩放控件样式,最后一个为移动端缩放控件样式。
下面的示例将调整平移缩放地图控件的外观。
上图前4个为PC端平移缩放控件样式,最后一个为移动端缩放控件样式。
下面的示例将调整平移缩放地图控件的外观。
添加缩略图
<!DOCTYPE html><html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><meta name="viewport" content="initial-scale=1.0, user-scalable=no" /><style type="text/css">body, html {width: 100%;height: 100%;margin:0;font-family:"微软雅黑";}#allmap{width:100%;height:500px;}#r-result{width:100%;margin-top:5px;}p{margin:5px; font-size:14px;}</style><script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=您的密钥"></script><title>添加/删除地图类型、缩略图控件</title></head><body><div id="allmap"></div><div id="r-result"><input type="button" onclick="add_control();" value="添加" /><input type="button" onclick="delete_control();" value="删除" /></div><p>点击地图类型控件切换普通地图、卫星图、三维图、混合图(卫星图+路网),右下角是缩略图,点击按钮查看效果</p></body></html><script type="text/javascript">// 百度地图API功能var map = new BMap.Map("allmap");map.centerAndZoom(new BMap.Point(116.404, 39.915), 11);var mapType1 = new BMap.MapTypeControl({mapTypes: [BMAP_NORMAL_MAP,BMAP_HYBRID_MAP]});var mapType2 = new BMap.MapTypeControl({anchor: BMAP_ANCHOR_TOP_LEFT});var overView = new BMap.OverviewMapControl();var overViewOpen = new BMap.OverviewMapControl({isOpen:true, anchor: BMAP_ANCHOR_BOTTOM_RIGHT});//添加地图类型和缩略图function add_control(){map.addControl(mapType1); //2D图,卫星图map.addControl(mapType2); //左上角,默认地图控件map.setCurrentCity("北京");//由于有3D图,需要设置城市哦map.addControl(overView); //添加默认缩略地图控件map.addControl(overViewOpen); //右下角,打开}//移除地图类型和缩略图function delete_control(){map.removeControl(mapType1);//移除2D图,卫星图map.removeControl(mapType2);map.removeControl(overView);map.removeControl(overViewOpen);}</script>效果图
以上就是本文的全部内容,希望大家喜欢。