地铁图的“Hello, Subway”
首先通过一个简单的示例快速了解百度地铁图JS API。如下代码可以实现一个简单的全屏展示北京地铁图的DEMO,因为地铁图不支持PC浏览器,请用手机扫描二维码体验:
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <meta name="viewport" content="initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no" /> <title>地铁图展示</title> <script type="text/javascript" src="https://api.map.baidu.com/api?type=subway&v=1.0&ak=您的密钥"></script> <style type="text/css"> #container{height:100%} </style> </head> <body> <div id="container"></div> <script type="text/javascript"> /** * 从所有城市列表中获取北京信息 * 结果格式 * { * keyword: 'beijing', * name: '北京', * citycode: '131' * } */ /* globals BMapSub */ var subwayCityName = '北京'; var list = BMapSub.SubwayCitiesList; var subwaycity = null; for (var i = 0; i < list.length; i++) { if (list[i].name === subwayCityName) { subwaycity = list[i]; break; } } // 获取北京地铁数据-初始化地铁图 var subway = new BMapSub.Subway('container', subwaycity.citycode); subway.setZoom(0.5); </script> </body> </html>
下面我们分步向您介绍如何快速开始地铁图开发:
1申请百度账号和ak
2准备页面
根据HTML标准,每一份HTML文档都应该声明正确的文档类型,我们建议您使用最新的符合HTML5规范的文档声明:
<!DOCTYPE html>
您也可以根据需要选择其他类型的文档声明,这样浏览器会以标准的方式对页面进行渲染,保证页面最大的兼容性。我们不建议您使用Quirks模式进行开发。
3适应移动端页面展示
下面我们添加一个meta标签,以便使您的页面更好的在移动平台上展示。
<meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
4设置容器样式
设置容器样式大小,使地铁图充满整个浏览器窗口:
#container{height:100%}
5引用百度地铁图API文件
<script type="text/javascript" src="https://api.map.baidu.com/api?type=subway&v=1.0&ak=您的密钥"></script>
6创建地铁图容器元素
地铁图需要一个HTML元素作为容器才能够展现到页面上。这里我们创建一个div元素。
<div id="container"></div>
7创建地铁图实例
地铁图API的命名空间是BMapSub,BMapSub.Subway类表示地铁图,通过new操作符可以创建一个地铁图实例。其中,第一个参数为地铁图容器的id;第二个参数为地铁图城市的citycode。 BMapSub.SubwayCitiesList中存储了城市名和citycode的对照关系。可以查询到某个城市的citycode。
var subwayCityName = '北京'; var list = BMapSub.SubwayCitiesList; var subwaycity = null; for (var i = 0; i < list.length; i++) { if (list[i].name === subwayCityName) { subwaycity = list[i]; break; } } // 获取北京地铁数据-初始化地铁图 var subway = new BMapSub.Subway('container', subwaycity.citycode);
8调整地铁图缩放级别
地铁图支持从级别0.1到2的无极缩放。可以用过setZoom方法改变当前地铁图的缩放级别。
subway.setZoom(0.5);
至此,我们就已经完成了北京市地铁图的创建~