文本标注
更新时间:2020年08月07日
简介
所有叠加或覆盖到地图的内容,我们统称为地图覆盖物。覆盖物拥有自己的地理坐标,当您拖动或缩放地图时,它们会相应的移动。
覆盖物主要分为:标注(点标注、折线、多边形、圆、文本标注)、信息窗口、图层。
本节重点介绍一下如何向地图添加文本标注,以及与地图相关的一些交互。
提供的文本标注
Label:一个用来往地图上添加文本标注的类,您可以自定义标注的文本内容。
Label使用详情请见类参考
添加文本标注
API提供了默认的标注样式,您也可以通过setStyle来指定自定义样式。
1参考展示地图创建基本地图
<!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,#allmap {width: 100%;height: 100%;overflow: hidden;margin:0;font-family:"微软雅黑";}
</style>
<script type="text/javascript" src="//api.map.baidu.com/api?type=webgl&v=1.0&ak=您的密钥"></script>
<title>地图展示</title>
</head>
<body></body>
</html>
<script type="text/javascript">
// GL版命名空间为BMapGL
// 按住鼠标右键,修改倾斜角和角度
var map = new BMapGL.Map("allmap"); // 创建Map实例
map.centerAndZoom(new BMapGL.Point(116.404, 39.915), 11); // 初始化地图,设置中心点坐标和地图级别
map.enableScrollWheelZoom(true); //开启鼠标滚轮缩放
</script>
2向地图中添加文本标注
如下示例,向地图添加了一个文本标注,并使用默认的标注样式:
var point = new BMapGL.Point(116.404, 39.915);
var content = "label";
var label = new BMapGL.Label(content, { // 创建文本标注
position: point, // 设置标注的地理位置
offset: new BMapGL.Size(10, 20) // 设置标注的偏移量
})
map.addOverlay(label); // 将标注添加到地图中
3修改文本标注样式
通过setStyle类可实现自定义文本标注的样式,其参数为一个表示样式的JavaScript对象常量。
注意:如果css的属性名中包含连字符,需要将连字符去掉并将其后的字母进行大写处理,例如:背景色属性要写成:backgroundColor。
var point = new BMapGL.Point(116.404, 39.915);
var content = 'label';
var label = new BMapGL.Label(content, { // 创建文本标注
position: point,
offset: new BMapGL.Size(10, 20)
})
map.addOverlay(label); // 将标注添加到地图中
label.setStyle({ // 设置label的样式
color: '#000',
fontSize: '30px',
border: '2px solid #1E90FF'
})
4监听标注事件
JSAPI支持监听覆盖物的事件。
label.addEventListener("click", function(){
alert("您点击了标注");
});
没有match的答案?试试对话大模型




