刚刚工作的时候写过百度地图API文档,那时候没有记录到技术博客里面,今天在群里看见有个姑娘在问这个问题,重温了一遍,这个API还算好用。百度地图API,集成简单好用,全面,兼容问题,文档全面;
选择百度地图的一个很重要的原因是百度地图支持离线地图,开发者发布App前可以将离线地图数据包提前打包到App中,或者让用户自己导入。不过目前百度的离线地图只有普通地图样式,还没有卫星地图。
官方demo的使用
<!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 {width: 100%;height: 100%;margin:0;font-family:"微软雅黑";} #allmap{width:100%;height:500px;} p{margin-left:5px; font-size:14px;} </style> <script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=2yj0orPscf4IFIGVG2nrlYRFrGNYozAh"></script> <title>纯文本的信息窗口</title> </head> <body> <div id="allmap"></div> <p>点击标注点,可查看由纯文本构成的简单型信息窗口</p> </body> </html> <script type="text/javascript"> // 百度地图API功能 var map = new BMap.Map("allmap"); var point = new BMap.Point(116.417854,39.921988); var marker = new BMap.Marker(point); // 创建标注 map.addOverlay(marker); // 将标注添加到地图中 map.centerAndZoom(point, 15); var opts = { width : 200, // 信息窗口宽度 height: 100, // 信息窗口高度 title : "海底捞王府井店" , // 信息窗口标题 enableMessage:true,//设置允许信息窗发送短息 message:"亲耐滴,晚上一起吃个饭吧?戳下面的链接看下地址喔~" } var infoWindow = new BMap.InfoWindow("地址:北京市东城区王府井大街88号乐天银泰百货八层", opts); // 创建信息窗口对象 marker.addEventListener("click", function(){ map.openInfoWindow(infoWindow,point); //开启信息窗口 }); </script>
体验入口
http://www.intmote.com/11.html
关于密钥问题
在官方API里面,密钥是没有设置的,需要自己手动添加
<script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=您的密钥"></scrip
百度地图API密匙申请方法:
https://jingyan.baidu.com/article/e73e26c0b5b75124adb6a786.html
申请平台:可以访问如下网址了解如何获取有效的密钥:http://lbsyun.baidu.com/apiconsole/key#。按照步骤申请下来的api,放在代码当中就可以使用了。