ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

百度地图各种控件:地图平移缩放控件NavigationControl、地图类型控件MapTypeControl

2021-12-11 13:36:00  阅读:144  来源: 互联网

标签:控件 map 缩放 地图 BMAP new


注:代码复制即可用,标色代码为主要代码

 

百度地图提供了如下控件:

1.Control:控件的抽象基类,所有控件均继承此类的方法、属性。通过此类您可实现自定义控件。

2.NavigationControl:地图平移缩放控件,PC端默认位于地图左上方,它包含控制地图的平移和缩放的功能。移动端提供缩放控件,默认位于地图右下方。

3.OverviewMapControl:缩略地图控件,默认位于地图右下方,是一个可折叠的缩略地图。

4.ScaleControl:比例尺控件,默认位于地图左下方,显示地图的比例关系。

5.MapTypeControl:地图类型控件,默认位于地图右上方(地图,卫星,三维)。

6.CopyrightControl:版权控件,默认位于地图左下方。

7.GeolocationControl:定位控件,针对移动端开发,默认位于地图左下方。

 

html示例

<div id="map"></div>
<script src="http://api.map.baidu.com/api?v=2.0&ak="></script

 

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 表示只显示控件的缩放部分功能。

下图从左向右依次展现了上述不一样类型的控件外观: 

 

标签:控件,map,缩放,地图,BMAP,new
来源: https://www.cnblogs.com/naturl/p/15675269.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有