地图展示
编写HTML页面的基础代码
在这一步我们完成头部文件和地图容器样式的编写。
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Baidu Map </title>
<style type="text/css">
#container {overflow: hidden; width: 100%; height: 450px; margin: 0; font-family: '微软雅黑';}
.infowindow {width: 100%; overflow: hidden;}
.infowindow hr {border: 0; border-bottom: 1px #ccc solid; margin-bottom: 10px;}
.infowindow img {float: left; margin-right: 10px; width: 90px;}
.infowindow p {font-size: 12px; line-height: 1.7;}
</style>
</head>
<body>
</body>
</html>
引入百度地图API文件
<script type="text/javascript" src="//api.map.baidu.com/api?type=webgl&v=1.0&ak=您的密钥"></script>
初始化地图逻辑
首先创建地图实例,之后用一个Point坐标点和缩放级别来初始化地图
var map = new BMapGL.Map("container"); // 创建地图实例
var point = new BMapGL.Point(116.404, 39.915); // 创建点坐标
map.centerAndZoom(point, 15); // 初始化地图,设置中心点坐标和地图级别
创建点标记
// 创建点标记
var marker = new BMapGL.Marker(new BMapGL.Point(120.21086,29.274559));
// 在地图上添加点标记
map.addOverlay(marker);
开启鼠标滚轮缩放
地图的鼠标滚轮缩放默认是关闭的,需要配置开启。
map.enableScrollWheelZoom(true); //开启鼠标滚轮缩放
添加地图控件
var scaleCtrl = new BMapGL.ScaleControl(); // 添加比例尺控件
map.addControl(scaleCtrl);
var zoomCtrl = new BMapGL.ZoomControl(); // 添加缩放控件
map.addControl(zoomCtrl);
设置地图的旋转角度和倾斜角度
地图可以自定义旋转角度和倾斜角角度
map.setHeading(64.5); //设置地图旋转角度
map.setTilt(73); //设置地图的倾斜角度
// 禁止地图旋转和倾斜可以通过配置项进行设置
var map = new BMapGL.Map("allmap",{
enableRotate: false,
enableTilt: false
});
添加信息窗口
var opts = {
width: 300,
height: 90,
title: '<strong style="display:block;padding-top:3px;font-size:16px;">东阳市恒达金属波纹管有限公司</strong>'
};
var infoWindow = new BMapGL.InfoWindow('<div class="infowindow"><hr><img src="https://file.cdn.lancent.net/dyhengda/assets/images/logo_default.png"><p>地址:浙江省金华市东阳市经济开发区西城工业园区</p><p>电话:0579-86812635</p></div>', opts);
map.openInfoWindow(infoWindow, point);
function getInfoContent() {
alert(infoWindow.getContent());
}
至此我们完成了一个完整的地图展示的例子,可以试着在地图区域按住鼠标右键进行拖动,地图的视角和旋转角度会随之改变。
完整代码如下:
<!-- Baidu Map API Style -->
<style>
#container {overflow: hidden; width: 100%; height: 450px; margin: 0; font-family: '微软雅黑';}
.infowindow {width: 100%; overflow: hidden;}
.infowindow hr {border: 0; border-bottom: 1px #ccc solid; margin-bottom: 10px;}
.infowindow img {float: left; margin-right: 10px; width: 90px;}
.infowindow p {font-size: 12px; line-height: 1.7;}
</style>
<div id="container"></div>
<!-- Baidu Map API -->
<script type="text/javascript" src="//api.map.baidu.com/api?type=webgl&v=1.0&ak=ed5HG03k5lWEAKF3ggkalDvSwnsCBAxq"></script>
<script>
var map = new BMapGL.Map('container');
var point = new BMapGL.Point(120.21086,29.274559);
map.centerAndZoom(point, 15);
// 创建点标记
var marker = new BMapGL.Marker(new BMapGL.Point(120.21086,29.274559));
// 在地图上添加点标记
map.addOverlay(marker);
map.enableScrollWheelZoom(true); //开启鼠标滚轮缩放
var scaleCtrl = new BMapGL.ScaleControl(); // 添加比例尺控件
map.addControl(scaleCtrl);
var zoomCtrl = new BMapGL.ZoomControl(); // 添加缩放控件
map.addControl(zoomCtrl);
var opts = {
width: 300,
height: 90,
title: '<strong style="display:block;padding-top:3px;font-size:16px;">东阳市恒达金属波纹管有限公司</strong>'
};
var infoWindow = new BMapGL.InfoWindow('<div class="infowindow"><hr><img src="https://file.cdn.lancent.net/dyhengda/assets/images/logo_default.png"><p>地址:浙江省金华市东阳市经济开发区西城工业园区</p><p>电话:0579-86812635</p></div>', opts);
map.openInfoWindow(infoWindow, point);
function getInfoContent() {
alert(infoWindow.getContent());
}
</script>