百度地图API的使用(附案例)

这篇具有很好参考价值的文章主要介绍了百度地图API的使用(附案例)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。


JavaScript API GL

百度地图JavaScript API是一套由JavaScript语言编写的应用程序接口,可帮助您在网站中构建功能丰富、交互性强的地图应用,支持PC端和移动端基于浏览器的地图应用开发,且支持HTML5特性的地图开发。

一、申请秘钥

百度地图API的使用(附案例)

在控制台里选择创建应用

百度地图API的使用(附案例)
选择浏览器端,白名单输入*

百度地图API的使用(附案例)

Hello World

我们直接把文档内的代码cv过来,加上秘钥就可以直接使用地图了

<!DOCTYPE html>
<html>

<head>
    <meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Baidu Map </title>
    <style type="text/css">
        html {
            height: 100%
        }

        body {
            height: 100%;
            margin: 0px;
            padding: 0px
        }

        #container {
            height: 100%
        }
    </style>
</head>

<body>
    <div id="container"></div>
</body>
<script type="text/javascript"
    src="https://api.map.baidu.com/api?v=1.0&type=webgl&ak=******"></script>
<script>
    var map = new BMapGL.Map("container");          // 创建地图实例 
    var point = new BMapGL.Point(116.404, 39.915);  // 创建点坐标 
    map.centerAndZoom(point, 15);
    map.enableScrollWheelZoom(true); 
</script>

</html>

百度地图API的使用(附案例)

显示地址案例

我们向地图添加标注点和信息窗口

百度地图API的使用(附案例)

百度地图API的使用(附案例)

<!DOCTYPE html>
<html>

<head>
    <meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Baidu Map </title>
    <style type="text/css">
        html {
            height: 100%
        }

        body {
            height: 100%;
            margin: 0px;
            padding: 0px
        }

        #container {
            height: 100%
        }
    </style>
</head>

<body>
    <div id="container"></div>
</body>
<script type="text/javascript" src="https://api.map.baidu.com/api?v=3.0&ak=*****"></script>
<script>
    var map = new BMap.Map("container");    
var point = new BMap.Point(116.404, 39.915);    
map.centerAndZoom(point, 15);    
var marker = new BMap.Marker(point);        // 创建标注    
marker.enableDragging();    
marker.addEventListener("dragend", function(e){    
    alert("当前位置:" + e.point.lng + ", " + e.point.lat);    
})   

map.addOverlay(marker);  
    var opts = {    
    width : 250,     // 信息窗口宽度    
    height: 100,     // 信息窗口高度    
    title : "这里是天安门"  // 信息窗口标题   
}    
var infoWindow = new BMap.InfoWindow("", opts);  // 创建信息窗口对象    
map.openInfoWindow(infoWindow, map.getCenter());       // 打开信息窗口
</script>

</html>

百度地图API的使用(附案例)

定位功能

我们可以拖动标注点来获取到标注点的坐标

<!DOCTYPE html>
<html>

<head>
    <meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Baidu Map </title>
    <style type="text/css">
        html {
            height: 100%
        }

        body {
            height: 100%;
            margin: 0px;
            padding: 0px
        }

        #container {
            height: 100%
        }
    </style>
</head>

<body>
    <div id="container"></div>
</body>
<script type="text/javascript"
    src="https://api.map.baidu.com/api?v=1.0&type=webgl&ak=******"></script>
<script>
    var map = new BMapGL.Map("container");          // 创建地图实例 
    var point = new BMapGL.Point(116.404, 39.915);  // 创建点坐标 
    map.centerAndZoom(point, 15);
    map.enableScrollWheelZoom(true);
    var point = new BMapGL.Point(116.404, 39.915);
    var marker = new BMapGL.Marker(point);        // 创建标注   
    map.addOverlay(marker);
    marker.enableDragging();    
    marker.addEventListener("dragend", function(e){    
        alert("当前位置:" + e.point.lng + ", " + e.point.lat);    
    })   
</script>

</html>

百度地图API的使用(附案例)

步行导航

我们已经学会使用标注点了
那么我们就可以创建2个标注点来设计步行路线

<!DOCTYPE html>

<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
    <title>步行路线规划</title>
    <script type="text/javascript" src="//api.map.baidu.com/api?v=3.0&ak=*******"></script>
    <style type="text/css">
        body,
        html,
        #container {
            width: 100%;
            height: 100%;
            overflow: hidden;
            margin: 0;
            font-family: "微软雅黑";
        }
    </style>
</head>

<body>
    <div id="container"></div>
    <script type="text/javascript">
        var points = [];
        var map = new BMap.Map("container");
        map.centerAndZoom(new BMap.Point(116.404, 39.915), 14);
        map.addEventListener('click', function (e) {
            if(points.length==2){
                map.clearOverlays()
                points=[];
            }
            var point = new BMap.Point(e.point.lng, e.point.lat)
            points.push(point)
            var marker = new BMap.Marker(point);
            map.addOverlay(marker);

            if (points.length == 2) {
                var walking = new BMap.WalkingRoute(map, {
                    renderOptions: {
                        map: map,
                        autoViewport: true
                    }
                });
                walking.search(points[0], points[1]);
            }
        })


    </script>
</body>

</html>

百度地图API的使用(附案例)

搜索功能

使用local.search()来实现搜索功能

<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;
        }
        .ipt{
            margin: 20px auto;
            width: 350px;
        }
        input {
            font-size: 14px;
            width: 300px;
            display: inline-block;
        }
    </style>
    <script type="text/javascript" src="//api.map.baidu.com/api?v=3.0&ak=****"></script>
    <title>根据关键字本地搜索</title>
</head>

<body>
    <div class="ipt">
    <input type="text">
        <button>搜索</button>
    </div>
    <div id="allmap"></div>
</body>

</html>
<script type="text/javascript">
    // 百度地图API功能
    var map = new BMap.Map("allmap");
    map.centerAndZoom(new BMap.Point(116.404, 39.915), 11);
    var local = new BMap.LocalSearch(map, {
        renderOptions: { map: map }
    });
    var ipt=document.querySelector('input');
    // console.log(ipt)
    var btn=document.querySelector('button');
    btn.onclick=function(){
        // alert('aa')
        local.search(ipt.value);
        ipt.value=''
    }

</script>

百度地图API的使用(附案例)

地铁路线规划

原理跟地图路线规划一样,添加两个标注点,根据标注点来规划路线

<!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="//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">
        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);
        var zoomControl = new BMapSub.ZoomControl({
            anchor: BMAPSUB_ANCHOR_BOTTOM_RIGHT,
            offset: new BMapSub.Size(10, 100)
        });
        subway.addControl(zoomControl);
        var zoomControl = new BMapSub.ZoomControl({
            anchor: BMAPSUB_ANCHOR_BOTTOM_RIGHT,
            offset: new BMapSub.Size(10, 100)
        });
        subway.addControl(zoomControl);

        var points = [];
        subway.addEventListener('tap', function (e) {
            if (points.length == 0) {
                var startIcon = new BMapSub.Icon(
                    'https://api.map.baidu.com/images/subway/start-bak.png',
                    new BMapSub.Size(50, 80)
                );
                var marker = new BMapSub.Marker(e.station.name, { icon: startIcon });
                subway.addMarker(marker);
                subway.setCenter(e.station.name);
                subway.setZoom(1);
                points.push(e.station.name)
            } else {
                var startIcon = new BMapSub.Icon(
                    'https://api.map.baidu.com/images/subway/end-bak.png',
                    new BMapSub.Size(50, 80)
                );
                var marker = new BMapSub.Marker(e.station.name, { icon: startIcon });
                subway.addMarker(marker);
                subway.setCenter(e.station.name);
                subway.setZoom(1);
                points.push(e.station.name)
                var drct = new BMapSub.Direction(subway);
                drct.search(points[0], points[1]);
                subway.clearOverlays()
                points = []
            }
        });
    </script>
</body>

</html>

百度地图API的使用(附案例)文章来源地址https://www.toymoban.com/news/detail-456255.html

到了这里,关于百度地图API的使用(附案例)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • uniapp上高德(百度)地图API的使用(APP安卓)

    前言 由于在app中没有document,window等对象,所以使用在pc端传统方法引入的方式,将会发现无法引用成功,会出现白屏现象。 目前有两种解决方式: 使用uniapp的web-view方式(百度地图) 使用renderjs来调用document等js对象(高德地图) map.vue: 中间实时显示地图上图标的个数,以及

    2023年04月10日
    浏览(74)
  • 【App端】uni-app使用百度地图api和echarts省市地图下钻

    近期的app项目中想加一个功能,展示全国各地的某一数据统计情况,想来想去,用echarts做地图数据可视化直观且美观。于是就去研究了如何使用,其实在移动端使用echarts地图踩的bug挺多的,总结如下。 JavaScript API GL账号和获取密钥 1、获取SHA1:Android平台云端打包 - 公共测试

    2024年02月11日
    浏览(34)
  • 【App端】uni-app使用echarts和百度地图api

    近期的app项目中想加一个功能,展示全国各地的某一数据统计情况,想来想去,用echarts做地图数据可视化直观且美观。于是就去研究了如何使用,其实在移动端使用echarts地图踩的bug挺多的,总结如下。 JavaScript API GL账号和获取密钥 1、获取SHA1:Android平台云端打包 - 公共测试

    2024年02月11日
    浏览(38)
  • 使用百度地图官方WEB API,提示 “ APP 服务被禁用“ 问题的解决方法

    项目上用了百度地图官方WEB API,打开界面时百度地图无法打开,出现弹窗: APP被您禁用啦。详情查看:http://lbsyun.baidu.com/apiconsole/key# 。 查看错误信息: \\\"status\\\":240,\\\"message\\\":\\\"APP 服务被禁用\\\" 在https://lbsyun.baidu.com/index.php?title=webapi/appendix中找到百度地图官方WEB API服务文档—附录

    2023年04月09日
    浏览(96)
  • 漏刻有时百度地图API实战开发(1)华为手机无法使用addEventListener click 的兼容解决方案

    漏刻有时百度地图API实战开发(1)华为手机无法使用addEventListener click 的兼容解决方案 漏刻有时百度地图API实战开发(2)文本标签显示和隐藏的切换开关 漏刻有时百度地图API实战开发(3)自动获取地图多边形中心点坐标 漏刻有时百度地图API实战开发(4)显示指定区域在移动端异常的

    2024年01月19日
    浏览(50)
  • 如何调用百度地图API

      要调用百度地图API,步骤操作如下 注册并创建一个API密钥。您可以在百度地图API控制台上创建您的密钥。 选择要使用的API服务。百度地图API提供了多种服务,包括地图展示、路线规划、地点搜索、实时交通等。您可以在百度地图API控制台上查看所有可用的服务。 在调用

    2024年02月09日
    浏览(32)
  • 【JavaWeb】百度地图API SDK导入

    百度地图开放平台 | 百度地图API SDK | 地图开发 (baidu.com) 登录注册,创建应用,获取AK 地理编码 | 百度地图API SDK (baidu.com) 需要的接口一: 获取店铺/用户 所在地址的经纬度坐标 轻量级路线规划 | 百度地图API SDK (baidu.com) 需要的接口二: 通过拿到的起点与终点坐标 进行计算

    2024年04月09日
    浏览(64)
  • 利用R语言通过百度地图API进行批量地理编码

    当您有大量的地点名称需要在地图上来呈现时,首先要在在线地图上找到该地址的坐标,通常是指经纬度,如果能够用代码来实现,便少了许多费时费力的体力活儿,以下将详细介绍地理编码的详细实现路径,即使您是一个编程小白,只要会打开软件,也可轻松搞定批量地理

    2024年02月11日
    浏览(37)
  • 从零开始学习调用百度地图网页API:二、初始化地图,鼠标交互创建信息窗口

    注 :需要将 你的ak 替换,从百度地图官网注册申请。 脚本中使用BMap创建Map实例,centerAndZoom()初始化地图设置中心点为北京,地图等级15。enableScrollWheelZoom()鼠标滚轮可缩放窗口。addEventListener监听鼠标点击事件,发生后,传递事件e至function(e),执行openInfoWindow,在鼠标点击坐

    2024年02月07日
    浏览(42)
  • 微信小程序开发如何开启地图定位(个人开发版)(连接第三方百度地图api)

    目前腾讯位置服务提供路线规划、地图选点、地铁图、城市选择器插件四款插件产品 在微信公众平台 选择开发工具可开启腾讯位置服务 之后便可以在 设置--第三方设置中添加自己所需要的腾讯地图插件 因为我做的小程序中需要用到地图选点功能 但是在安装 地图选点插件

    2024年02月11日
    浏览(30)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包