文章目录

  • JavaScript API GL
  • 一、申请秘钥
  • Hello World
  • 显示地址案例
  • 定位功能
  • 步行导航
  • 搜索功能
  • 地铁路线规划

JavaScript API GL

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

一、申请秘钥

在控制台里选择创建应用


选择浏览器端,白名单输入*

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>

显示地址案例

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

<!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>

定位功能

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

<!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>

步行导航

我们已经学会使用标注点了
那么我们就可以创建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>

搜索功能

使用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>

地铁路线规划

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

<!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的使用(附案例)相关推荐

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

    百度地图API的使用教程以及案例 一.注册 百度地图:掌握当前的位置在网页显示位置,插入地图 拖拽,点击事件. 注意:定位 距离 公交 不关心 官网: 点我进入百度地图官网 应用场景:网页插入百度地图 ...

  2. 小地图案例:通过百度地图API将整个html渲染出地图

    文章目录 前言 一.API是什么? 二.百度的API获取 1.搜索 2.找到API文档 3.找到相对应的代码节点 4.前期配置编写地图代码 5.更改配置项 6.最终效果 总结(小Tips) 前言 家喻 ...

  3. 教你用百度地图API抓取建筑物周边位置、房价信息(附代码)

    来源:大数据挖掘DT数据分析 本文共2465字,建议阅读5分钟. 本文为大家解读怎样用脚本与百度API的交互,爬取百度地图的数据. 需求描述 对于数据挖掘工程师来说,有时候需要抓取地理位置信息,比如统 ...

  4. html百度地图秘钥,自己网页调用百度地图API 附API密钥

    百度地图API自定义地图 地图生成工具基于百度地图JS api v2.0版本开发,使用请申请密匙. 了解如何申请密匙 申请密匙 //创建和初始化地图函数: function initMap(){ cr ...

  5. baidumap api MySQL_百度地图API开发笔记一(基础篇)

    什么是百度地图API? 百度地图API是一套由JavaScript语言编写的应用程序接口,它能够帮助您在网站中构建功能丰富.交互性强的地图应用.百度地图API包含了构建地图基本功能的各种接口,提供了诸 ...

  6. 【百度地图API】自行获取区域经纬度的工具

    原文:[百度地图API]自行获取区域经纬度的工具 摘要:上一章教大家如何建立自己的行政区域地图.这次为大家提供一个,可视化选择区域,并且能自动生成经纬度代码的工具.工具的源代码完全公开,并且做了详尽的 ...

  7. 【百度地图API】如何激发手机的高分辨率

    [百度地图API]如何激发手机的高分辨率 原文:[百度地图API]如何激发手机的高分辨率 摘要:不少用户使用百度地图API开发在移动浏览器上的应用时发现,明明自己的手机是高分辨率的,但是显示出来的地图 ...

  8. Vue项目使用百度地图api

    目录 1.百度开发者认证 2.创建应用 3.引用百度地图API文件 4.展示地图 1.百度开发者认证 进入百度地图开放平台 官网,(认证需要身份证号码,人脸识别,手机百度APP,邮箱地址) 注册登录完 ...

  9. 引用百度地图API完成热力图

    近期肺炎疫情信息闹的火热,就该情况完成来沪人员分布热力图以及标注确诊患者足迹.就开发研究中遇到的问题以及解决方案做一下记录,如下所示: 一.效果示意图 简述完成效果:百度地图引入,增加热力图,添加比例 ...

最新文章

  1. myeclipse快捷键大全
  2. python语法面试题_Python语法面试题
  3. what should you do if you want to become an expert in one domain
  4. 8.ActionContext类与Servlet API解耦的访问方式
  5. PHP数组的排序函数
  6. 程序人生:织梦dedecms后台/会员验证码关闭
  7. ubuntu16 深度学习环境搭建步骤
  8. 在家办公上课成强需求 钉钉峰值流量暴增百倍
  9. On September 8, the “PDF first share“ Foxit Software
  10. vue项目首屏加载过久处理笔记
  11. 20140115-URL编码与解码
  12. GTJ2018如何导出全部工程量_新清单计量规范征求意见稿第二期来啦!来看看那些让你烦恼的操作如何解决...
  13. java中Field中的方法,解析Java中的Field类和Method类
  14. 计算机绘图培训心得,学习cad制图心得体会
  15. 电子签名法学习-(1)电子认证服务机构
  16. 输入一个三位数,如果是水仙花数,输出YES,否则的话,输出NO;
  17. 直方图均衡化背后的数学
  18. 鸿蒙系统magic4.0,Magic UI 4.0正式版
  19. python3 子进程和父进程
  20. 旋转矩阵转欧拉角(二自由度约束)

热门文章

  1. 洗牌算法(Knuth算法)
  2. 使用VS Code进行Java开发
  3. C++ isalpha()
  4. Unity之canvas
  5. 赵钱孙李周五人选派谁出国(c语言)
  6. 宝的装linux分区找不到盘,Linux (Centos)添加一块新硬盘的步骤及注意事项
  7. 手把手教你爬取天堂网1920*1080大图片(批量下载)
  8. 计算机视觉图像常用基本算法(阈值化、形态学变化、模糊)
  9. 【Unity3D实战】方块跑酷初级开发实战(一)
  10. 【文本挖掘】业绩预告原因·其一