百度地图开发之信息窗口与文本标注的基础使用

1,094 阅读1分钟

这是我参与8月更文挑战的第29天,活动详情查看:8月更文挑战

写在前面:

先看效果图,如首页图所示。

官网参考:lbsyun.baidu.com/index.php?t…

  • 信息窗口:

信息窗口是地图上方浮动显示的HTML内容,可直接在地图上的任意位置打开,也可以在标注对象上打开(此时信息窗口的坐标与标注的坐标一致)。

  • Label文本标注:

一个用来往地图上添加文本标注的类,您可以自定义标注的文本内容。

其源码如下,直接复制在html文件里面即可运行:

<!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=GXn1gkhgbbWet55NCyKzjB7Hqfdh3gos">
  </script>
  <title>添加Label</title>
</head><body>
  <div id="allmap"></div>
</body></html>
<script type="text/javascript">
  // 百度地图API功能
  var map = new BMapGL.Map("allmap");
  var point = new BMapGL.Point(116.404, 39.925);
  map.centerAndZoom(point, 15);
​
  // 信息窗口
  var marker = new BMapGL.Marker(point); // 创建标注
  map.addOverlay(marker); // 将标注添加到地图中
  var optsInfo = {
    width: 200, // 信息窗口宽度
    height: 100, // 信息窗口高度
    title: "故宫博物院", // 信息窗口标题
    message: "这里是故宫"
  }
  var infoWindow = new BMapGL.InfoWindow("地址:北京市东城区王府井大街88号乐天银泰百货八层", optsInfo); // 创建信息窗口对象 
  marker.addEventListener("click", function () {
    map.openInfoWindow(infoWindow, point); //开启信息窗口
  });
​
  // 文本标注
  var optsLabel = {
    position: point, // 指定文本标注所在的地理位置
    offset: new BMapGL.Size(30, -30) //设置文本偏移量
  }
  var label = new BMapGL.Label("欢迎使用百度地图JSAPI WebGL版本", optsLabel); // 创建文本标注对象
  label.setStyle({
    color: 'red',
    fontSize: '12px',
    height: '20px',
    lineHeight: '20px',
    fontFamily: '微软雅黑'
  });
  map.addOverlay(label);
</script>

感谢看到末尾!