百度地图api使用详细版!

初始步骤

1.查找到百度地图开发平台,点击进入;
2.第一次进入需要输入账号和密码,登录成功后,进入到控制台;找到应用管理,在我的应用,点击创建应用;
3.跳转到创建应用界面,输入应用名称、选择应用类型(一般为浏览器端)和启用服务,输入域名白名单,然后点击提交;
4.这时会在应用表格中,生成一条新记录,有对应的应用编号、应用名称和访问应用(AK)等;
5.点击右上角的开发文档,选择Web开发下的JavaScript API v3.0;
6.在JavaScript API界面,可以查看到服务介绍、开发指南、类参考、示例DEMO等;
7.可根据官方文档自己创建地图;

使用步骤

1.初始化地图,并设置地图中心点

var map = new BMap.Map("allmap");    // 创建Map实例
map.centerAndZoom(new BMap.Point(116.404, 39.915), 11);  // 初始化地图,设置中心点坐标和地图级别
 
当然也可以根据城市名称设置地图的中心点:
map.centerAndZoom("上海",15);  

map.addControl(new BMap.ScaleControl());    //添加左下方比例尺控件
map.enableScrollWheelZoom(true);     //开启鼠标滚轮缩放
map.setCurrentCity("北京");          // 设置地图显示的城市

2.拖拽地图与滚轮的使用

map.enableScrollWheelZoom(true);
map.disableDragging();     //禁止拖拽
map.enableScrollWheelZoom();    //启用滚轮放大缩小

3.移动地图,设置地图最大最小的缩放级别

var map = new BMap.Map("allmap",{minZoom:4,maxZoom:8}); // 创建Map实例,设置地图允许的最小/大级别
 
//当然也可以动态设置级别:
map.setMaxZoom(10);
map.setMinZoom(2);

4.获得地图中心点,返回两点之间的距离

getCenter()
getDistance(start:Point, end:Point)
var pointA = new BMap.Point(106.486654,29.490295);  // 创建点坐标A--大渡口区
var pointB = new BMap.Point(106.581515,29.615467);  // 创建点坐标B--江北区
alert('距离是:'+(map.getDistance(pointA,pointB)).toFixed(2)+' 米。');  //获取两点距离,保留小数点后两位

5.信息窗口

var opts = {    
 width : 250,     // 信息窗口宽度    
 height: 100,     // 信息窗口高度    
 title : "Hello"  // 信息窗口标题   
}    
var infoWindow = new BMap.InfoWindow("World", opts);  // 创建信息窗口对象    
map.openInfoWindow(infoWindow, map.getCenter());      // 打开信息窗口
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); //开启信息窗口
    });

6.添加复杂的信息窗口

var sContent =
    "<h4 style='margin:0 0 5px 0;padding:0.2em 0'>天安门</h4>" + 
    "<img style='float:right;margin:4px' id='imgDemo' src='http://app.baidu.com/map/images/tiananmen.jpg' width='139' height='104' title='天安门'/>" + 
    "<p style='margin:0;line-height:1.5;font-size:13px;text-indent:2em'>天安门坐落在中国北京市中心,故宫的南侧,与天安门广场隔长安街相望,是清朝皇城的大门...</p>" + 
    "</div>";
var infoWindow = new BMap.InfoWindow(sContent);  // 创建信息窗口对象
//获取信息窗口的内容
infoWindow.getContent()

7.多边形区域

var polyline = new BMap.Polyline([    
   new BMap.Point(116.399, 39.910),    
   new BMap.Point(116.405, 39.920),
...
 ],    
 {strokeColor:"blue", strokeWeight:6, strokeOpacity:0.5}    
);    
map.addOverlay(polyline);

8.控件工具的创建与开关

var map = new BMap.Map("container");    
var myDis = new BMapLib.DistanceTool(map);
myDis.open()
myDis.close()

9.设置api接口,根据输入内容搜索相关地点

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>地图开发6</title>
    <style>
        #container{
            width: 100%;
            height: 500px;
        }
        .search{ position: relative;}
        .tip{position: absolute; top:30px; background-color: #fff; z-index: 10000000;}
    </style>
    <script type="text/javascript" src="http://api.map.baidu.com/api?v=3.0&ak=I5p02PxH5e459CAk9vt4elbXNTkgfxde"></script>
    <!-- 引入js,填入ak -->
    <script src="jquery-3.4.1.js"></script>
</head>
<body>
    <h1></h1>
    <div class="search">
        <input type="text"  id="searchbox">
        <div class="tip"></div>
    </div>
    
    <div id="container">  </div>
    <!-- 地图的容器 -->

    <script>
        var map = new BMap.Map("container");
        //初始化地图
        var point = new BMap.Point(113.665,34.784);
        //指定地图的中心点(经度,维度)
        map.centerAndZoom(point,16);
        //地图指定中旬和缩放层次
        map.enableScrollWheelZoom(true);                //地图可以缩放

         //自定义标注
         let Icon = new BMap.Icon('./assets/start_point.png',
         //图片地址
         new BMap.Size(36,42),
         //显示图片大小
         {imageSize:new BMap.Size(36,42),anchor:new BMap.Size(18,42)})
        // 把原始图片缩小到36,42  偏移到底部中心区域(默认左上角)

        var marker = new BMap.Marker(point,{icon:Icon});
        //创建一个标注
        map.addOverlay(marker);
        //添加标注到地图

    
        var local = new BMap.LocalSearch(map,{
            renderOptions:{map:map,autoViewport:true}
        });

       $(function(){
           $.ajax({
               url:'http://api.map.baidu.com/location/ip?ak=I5p02PxH5e459CAk9vt4elbXNTkgfxde&ip=&coor=bd09ll&output=jsonp',
               dataType:"jsonp",
               success:function(res){
                   console.log(res);
                   $("h1").html(res.content.address);
               }
           })
           
       $("#searchbox").on("input",function(){
           //显示tip
           $(".tip").show();
           $.ajax({
               url:`http://api.map.baidu.com/place/v2/suggestion?query=${$("#searchbox").val()}&region=郑州&city_limit=true&output=json&ak=I5p02PxH5e459CAk9vt4elbXNTkgfxde`,
               dataType:"jsonp",
               success:function(res){
                   console.log(res);
                   $(".tip").html(res.result.map(item=>`<p>${item.name}</p>`).join(''));
                   //设置tip的内容为result数组返回成p元素,连接字符串
               },
           })
       })
       $(".tip").on("click","p",function(){
           local.search($(this).text());
           //执行地图搜索 为当前单击的p标签
           $(".tip").hide();
           //隐藏tip
       })
 })
    </script>
</body>
</html>
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 219,110评论 6 508
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,443评论 3 395
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 165,474评论 0 356
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,881评论 1 295
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,902评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,698评论 1 305
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,418评论 3 419
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,332评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,796评论 1 316
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,968评论 3 337
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,110评论 1 351
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,792评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,455评论 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,003评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,130评论 1 272
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,348评论 3 373
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,047评论 2 355

推荐阅读更多精彩内容