要将百度地图集成到网页中,可以通过百度地图官方提供的JavaScript API实现,具体步骤包括申请密钥、引入API、初始化地图、添加标记及自定义样式等,以下是详细操作指南:

申请百度地图API密钥
- 访问开放平台:打开百度地图开放平台官网(lbsyun.baidu.com),注册并登录账号。
- 创建应用:进入“控制台”→“应用管理”→“创建应用”,选择“浏览器端”应用类型,填写应用名称(如“我的网站地图”),设置Referer白名单(即你的域名,如
www.example.com
,支持通配符)。 - 获取密钥:创建成功后,记录下“AK”(Access Key),这是调用API的唯一凭证。
引入百度地图JavaScript API
在网页HTML文件的<head>
标签中,通过<script>
标签引入API,需替换YOUR_AK
为实际密钥:
<script type="text/javascript" src="https://api.map.baidu.com/api?v=3.0&ak=YOUR_AK"></script>
- 参数说明:
v=3.0
为API版本,ak
为必填的密钥,若需额外功能(如公交导航、驾车路线),可添加&s=1
启用服务。
初始化地图容器
- 创建地图容器:在
<body>
中添加一个<div>
元素,设置id
和样式(如宽高):<div id="map" style="width: 100%; height: 500px;"></div>
- 初始化地图对象:在
<script>
中编写JavaScript代码,创建地图实例并设置中心点及缩放级别:var map = new BMap.Map("map"); // 创建Map实例 var point = new BMap.Point(116.404, 39.915); // 初始化中心点(北京天安门) map.centerAndZoom(point, 15); // 设置中心点坐标及缩放级别 map.enableScrollWheelZoom(true); // 启用滚轮缩放
添加地图控件与覆盖物
添加控件
百度地图提供多种控件,可通过map.addControl()
方法添加:
map.addControl(new BMap.NavigationControl()); // 平移缩放控件 map.addControl(new BMap.ScaleControl()); // 比例尺控件 map.addControl(new BMap.OverviewMapControl()); // 鹰眼控件
添加标记点(Marker)
var marker = new BMap.Marker(point); // 创建标记 map.addOverlay(marker); // 将标记添加到地图 // 可添加信息窗口 var infoWindow = new BMap.InfoWindow("这里是北京天安门"); marker.addEventListener("click", function(){ map.openInfoWindow(infoWindow, point); });
自定义标记样式
通过设置Marker的icon
属性,可使用自定义图片:
var myIcon = new BMap.Icon("marker.png", new BMap.Size(30, 30)); var marker = new BMap.Marker(point, {icon: myIcon});
地图事件与交互
地图支持多种事件监听,如点击、拖拽等:

map.addEventListener("click", function(e){ alert("点击坐标:" + e.point.lng + ", " + e.point.lat); });
响应式设计适配
为使地图在不同设备上正常显示,需设置容器宽度为100%,并通过CSS调整高度:
#map { width: 100%; height: 300px; /* 默认高度,可通过JS动态调整 */ } @media (min-width: 768px) { #map { height: 500px; } }
常见配置选项
配置项 | 说明 | 示例 |
---|---|---|
map.setMapType(BMAP_NORMAL_MAP) |
设置地图类型(普通/卫星/三维) | 卫星地图:BMAP_SATELLITE_MAP |
map.setTrafficControl(true) |
开启实时路况 | 需单独引入maptype.js |
map.setHeading(45) |
设置旋转角度(0-360度) | 旋转45度 |
完整示例代码
<!DOCTYPE html> <html> <head> <meta charset="utf-8">百度地图示例</title> <script type="text/javascript" src="https://api.map.baidu.com/api?v=3.0&ak=YOUR_AK"></script> <style> #map { width: 100%; height: 400px; } </style> </head> <body> <div id="map"></div> <script> var map = new BMap.Map("map"); var point = new BMap.Point(116.404, 39.915); map.centerAndZoom(point, 15); map.enableScrollWheelZoom(true); var marker = new BMap.Marker(point); map.addOverlay(marker); var infoWindow = new BMap.InfoWindow("欢迎访问北京!"); marker.addEventListener("click", function(){ map.openInfoWindow(infoWindow, point); }); </script> </body> </html>
相关问答FAQs
Q1: 百度地图API是否收费?
A1: 百度地图API提供免费额度,普通应用每日可调用10万次,超出后需按量付费(具体计费规则可参考开放平台“价格体系”)。
Q2: 如何解决地图加载失败的问题?
A2: 首先检查AK是否正确且在有效期内,其次确认Referer白名单是否已添加你的域名,若使用HTTPS,确保API链接也使用https://
协议。
