百度地图API的使用教程以及案例

百度地图API的使用教程以及案例

一、注册

百度地图:掌握当前的位置在网页显示位置,插入地图 拖拽,点击事件。

注意:定位 距离 公交 不关心

官网: 点我进入百度地图官网

应用场景:网页插入百度地图
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

二、获取账号和密钥

在这里插入图片描述
在这里插入图片描述

三、插入地图

创建地图容器元素 设置大小

 #container {
            width: 1300px;
            height: 600px;
            border: 1px solid #999;
        }
  <div id="container"></div>

引用百度地图API文件

<script src="http://api.map.baidu.com/api?v=3.0&ak=您的密钥"></script>

创建地图实例
在这里插入图片描述
在这里插入图片描述

四、添加控件

在这里插入图片描述

效果
在这里插入图片描述
代码如下:

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        #container {
            width: 1300px;
            height: 600px;
            border: 1px solid #999;
        }
    </style>
    <script type="text/javascript" src="http://api.map.baidu.com/api?v=3.0&ak=oek2hHpa3PhlyQe2WYDz5xtiIexpaeqi"></script>
</head>

<body>
    <div id="container"></div>

    <script>
        //1.创建地图实例
        var map = new BMap.Map("container");

        //2.设置中心点坐标  BMap命名空间下的Point类来创建一个坐标点
        var point = new BMap.Point(116.404, 39.915);

        //3.地图初始化,同时设置地图展示级别  (3-19)
        map.centerAndZoom(point, 15);

        //4.鼠标滚轮  开启鼠标滚轮缩放
        map.enableScrollWheelZoom(true); //开启鼠标滚轮缩放

        //5.添加控件
        //平移缩放控件 NavigationControl   PC端默认位于地图左上方,它包含控制地图的平移和缩放的功能
        map.addControl(new BMap.NavigationControl());


        //比例尺 ScaleControl 默认位于地图左下方,显示地图的比例关系
        map.addControl(new BMap.ScaleControl());

        //缩略地图 OverviewMapControl	默认位于地图右下方,是一个可折叠的缩略地图
        map.addControl(new BMap.OverviewMapControl());

        //地图类型	MapTypeControl	默认位于地图右上方
        map.addControl(new BMap.MapTypeControl());
        var opts = {
            anchor: BMAP_ANCHOR_TOP_RIGHT, //位置
            type: BMAP_NAVIGATION_CONTROL_SMALL //类型
        }
        map.addControl(new BMap.NavigationControl(opts));


    </script>

</body>

</html>

五、标注

在这里插入图片描述
在这里插入图片描述
代码如下

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        #container {
            width: 1300px;
            height: 600px;
            border: 1px solid #999;
        }
    </style>
    <script type="text/javascript" src="https://api.map.baidu.com/api?v=1.0&&type=webgl&ak=gGU58LULTYYEvYcqn8IQ5ZaEsqtaa1pj"></script>
</head>

<body>
    <div id="container"></div>
    <script>
        // 创建地图实例
        var map = new BMapGL.Map("container");

        //设置中心点坐标 BMap命名空间下的Point类来创建一个坐标点
        var point = new BMapGL.Point(116.404, 39.915);

        //地图初始化 同时设置地图的级别(3-19)
        map.centerAndZoom(point, 15);

        //鼠标滚轮 开启鼠标滚轮缩放
        map.enableScrollWheelZoom(true);

        //添加标注
        var marker = new BMapGL.Marker(point);
        map.addOverlay(marker); // 将标注添加到地图中

        //添加监听事件
        marker.addEventListener("click", function() {
            alert("您点击了标注");
        });
    </script>
</body>

</html>

在这里插入图片描述

也可以自定义标注图标

在这里插入图片描述
在这里插入图片描述

六、 信息窗口

效果如下
在这里插入图片描述
在这里插入图片描述

代码如下

         //InfoWindow信息窗口也是一种特殊的覆盖物,它可以展示更为丰富的文字和多媒体信息
        //注意:同一时刻只能有一个信息窗口在地图上打开
        var opts = {
                width: 250, // 信息窗口宽度
                height: 100, // 信息窗口高度
                title: "Hello World" // 信息窗口标题
            }
            // 创建信息窗口对象
        var infoWindow = new BMapGL.InfoWindow("你好 世界", opts);

        // 打开信息窗口  地图的中心位置map.getCenter() 
        //  map.openInfoWindow(infoWindow, map.getCenter());
        map.openInfoWindow(infoWindow, point)


        //点击marker标注——打开信息窗口
        marker.addEventListener('click', function() {
            map.openInfoWindow(infoWindow, point);
        })

七、正/逆地址解析

 // 地址解析服务提供从地址转换到经纬度的服务,反之,逆地址解析则提供从经纬度坐标转换到地址的转换功能。
        var myGeo = new BMapGL.Geocoder();
        // 将地址解析结果显示在地图上,并调整地图视野
        myGeo.getPoint('湖南省长沙市岳麓区岳麓书院', function(point) {
            if (point) {
                map.centerAndZoom(point, 16);
                map.addOverlay(new BMapGL.Marker(point, {
                    title: '湖南省长沙市岳麓区'
                }))
            } else {
                alert('您选择的地址没有解析到结果!');
            }
        }, '湖南省');

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

评论 21
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

王同学要努力

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值