百度地图各种控件:地图平移缩放控件NavigationControl、地图类型控件MapTypeControl
注:代码复制即可用,标色代码为主要代码
百度地图提供了如下控件:
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 表示只显示控件的缩放部分功能。
下图从左向右依次展现了上述不一样类型的控件外观:

百度地图各种控件:地图平移缩放控件NavigationControl、地图类型控件MapTypeControl的更多相关文章
- Delphi中用Webbrowser加载百度地图滚轮失效(ApplicationEvents里使用IsChild提前判断是哪个控件的消息)
在Delphi中使用Webbrowser加载百度地图时,点击了其它界面,再回到百度地图中,即使点击了鼠标,再用滚轮也不能缩 放地图,除非点地图里面的自带的控件,之后才能缩放,原因是因为其它窗体控件获得 ...
- 一步一步手写GIS开源项目-(2)地图平移缩放实现
系列文章目录 一步一步手写GIS开源项目-(1)500行代码实现基础GIS展示功能 一步一步手写GIS开源项目-(2)地图平移缩放实现 项目github地址:https://github.com/Hu ...
- javascript 百度地图无秘钥(appkey)创建marker标记地图
创建简单的marker地图不一定需要去百度地图申请key,简单代码实现marker地图,效果如图: html代码如下,代码中的baidu.api.js参考后面的隐藏代码: <!DOCTYPE h ...
- UIScrollView控件实现图片缩放功能
转发自:http://www.cnblogs.com/wendingding/p/3754268.html 一.缩放 1.简单说明: 有些时候,我们可能要对某些内容进行手势缩放,如下图所示 UIScr ...
- iOS开发UI篇—UIScrollView控件实现图片缩放功能
iOS开发UI篇—UIScrollView控件实现图片缩放功能 一.缩放 1.简单说明: 有些时候,我们可能要对某些内容进行手势缩放,如下图所示 UIScrollView不仅能滚动显示大量内容,还能对 ...
- Qt 控件随窗口缩放
在Qt的界面设计中,我们有时候希望窗口在最大化的时候,上面的控件也跟着缩放,那么我们就需要调整控件的SizePolicy属性,关于这个属性的讲解请参见我之前的博客Qt SizePolicy 属性,由于 ...
- 【百度地图API】如何利用自己的数据制作社交地图?只显示可视区域内的标注
原文:[百度地图API]如何利用自己的数据制作社交地图?只显示可视区域内的标注 摘要:如果你自己的数据已经超过1万个,如何进行合理的显示?除了聚合marker外,还有一个办法.那就是,只显示可视区域内 ...
- 缩放系列(二):所有子控件也随着缩放、手势缩放、多点触控layout
下面是一个功能强大的改造的例子: 可以实现以下需求: 1.两个手指进行缩放布局 2.所有子控件也随着缩放, 3.子控件该有的功能不能丢失(像button有可被点击的功能,缩放后不能丢失该功能) 运行效 ...
- iOS UI-UIScrollView控件实现图片缩放功能
一.缩放 1.简单说明: 有些时候,我们可能要对某些内容进行手势缩放,如下图所示 UIScrollView不仅能滚动显示大量内容,还能对其内容进行缩放处理.也就是说,要完成缩放功能的话,只需要将需要缩 ...
- Bing必应地图中国API-放大与平移
Bing必应地图中国API-放大与平移 2011-05-24 14:26:32| 分类: Bing&Google|字号 订阅 有些时候我们不希望通过默认的控制栏来控制地图,而是希望能 ...
随机推荐
- AD域下,没有登录服务器处理登录请求
原因: IP地址配置有问题 或者 DNS : 解决办法: 重新设置 IP地址 和 DNS : 此案例中, 切换到 test 账户(域管理员)后发现 , 未配置 IP地址 和 DNS :
- Java使用snmp协议采集服务器信息
Java使用snmp协议采集服务器信息 一.snmp简介 SNMP是专门设计用于在 IP 网络管理网络节点(服务器.工作站.路由器.交换机及Hubs等)的一种标准协议,它是一种应用层协议. ...
- USB type-c CC管脚如何做到正反接检测功能
USB Type-C 连接器的 CC (Configuration Channel) 管脚用于实现插头方向检测和电源管理.具体来说,USB Type-C 连接器具有两个 CC 管脚:CC1 和 CC2 ...
- innerText 和 inner HTML 的区别
获取内容时: innerText会自动删除空格和换行:innerHTML会保留空格和换行: <body> <div>获 取内 容</div> <script& ...
- .NET高级调试 - 3.7对象检查
简介 在大多数调试会话中,首先需要检查的项目就是分析应用程序的状态.在确认程序的问题是某种无效状态造成的,我们便需要分析程序是如何变成无效状态的.那么在分析过程中,需要为我们深入了解对象的各种审查方法 ...
- kotlin更多语言结构——>类型检测与类型转换 is 与 as
is 与 !is 操作符 我们可以在运行时通过使用 is 操作符或其否定形式 !is 来检测对象是否符合给定类型: if (obj is String) { print(obj.length) } i ...
- 斜率优化DP简单总结&&“土地购买”题解
今天刚刷完了斜率优化DP,简单从头回顾一下. \[首先,能写出DP方程应该是最重要的,毕竟斜率只是用来优化的 \] 那么一个DP方程能用斜率优化,具备一种形式: \[f[i]+s1[i]+A[i]*B ...
- 4收4发ARINC429模块
USB 2.0 Hi-Speed (480Mbits /s)* 发送通道:每路发送通道FIFO大小为511 x 32bit(CHR32904) 缓存256条发送消息(CHR32904-EX)发送FI ...
- 游戏推荐业务中基于 sentinel 的动态限流实践
作者:来自 vivo 互联网服务器团队- Gao Meng 本文介绍了一种基于 sentinel 进行二次开发的动态限流解决方案,包括什么是动态限流.为什么需要引入动态限流.以及动态限流的实现原理. ...
- Solution of CF1842C
Brief description of the title 若 \(a_i=a_j\) 且 \(1\le i < j\le |a|\).则删除 \(a_{i}\) 到 \(a_j\) 所有数. ...