位置: IT常识 - 正文

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

编辑:rootadmin
百度地图API的使用(附案例) 文章目录JavaScript API GL一、申请秘钥Hello World显示地址案例定位功能步行导航搜索功能地铁路线规划JavaScript API GL

推荐整理分享百度地图API的使用(附案例)(百度地图api的使用),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:百度地图接入api,百度地图api的使用教程,百度地图api的使用场景,百度地图api的使用,百度地图api的使用教程,百度地图api的使用场景,百度地图api的使用方法,百度地图api的使用场景,内容如对您有帮助,希望把文章链接给更多的朋友!

百度地图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>

显示地址案例百度地图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>

定位功能

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

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

本文链接地址:https://www.jiuchutong.com/zhishi/295344.html 转载请保留说明!

上一篇:YOLOv5 txt标签转图像标签(多个标签)(yolov5标签格式)

下一篇:三维重建(单目、双目、多目、点云、SFM、SLAM)(单图像三维重建)

  • 一怀洒脱诠释恬淡(一怀恬淡是什么意思)

    一怀洒脱诠释恬淡(一怀恬淡是什么意思)

  • 索尼wf1000xm4怎么蓝牙配对(索尼wf1000xm4怎么配对)

    索尼wf1000xm4怎么蓝牙配对(索尼wf1000xm4怎么配对)

  • 戴尔电脑键盘灯怎么开启(戴尔电脑键盘灯怎么换颜色)

    戴尔电脑键盘灯怎么开启(戴尔电脑键盘灯怎么换颜色)

  • 荣耀手环5如何充电(荣耀手环5如何使用)

    荣耀手环5如何充电(荣耀手环5如何使用)

  • iphonex跑分多少正常

    iphonex跑分多少正常

  • 腾讯账号怎么看(腾讯账号怎么看不到其他人4账号)

    腾讯账号怎么看(腾讯账号怎么看不到其他人4账号)

  • 压力测试和负载测试的区别(压力测试和负载测试的含义)

    压力测试和负载测试的区别(压力测试和负载测试的含义)

  • 路由表中包含的内容(路由表中包含的关键项分别是)

    路由表中包含的内容(路由表中包含的关键项分别是)

  • 天然气12t和10t有什么区别(天然气10t和12的哪个好)

    天然气12t和10t有什么区别(天然气10t和12的哪个好)

  • flyme是什么意思(flyme是什么意思英语)

    flyme是什么意思(flyme是什么意思英语)

  • oppo a52手机上市时间(oppoa52手机上市时间)

    oppo a52手机上市时间(oppoa52手机上市时间)

  • 路由器选择需要考虑的基本因素(设置路由器需要)

    路由器选择需要考虑的基本因素(设置路由器需要)

  • 爱奇艺为什么不能自动播放下一集了(爱奇艺为什么不能扫码登录了?)

    爱奇艺为什么不能自动播放下一集了(爱奇艺为什么不能扫码登录了?)

  • 1.5v干电池电流是多少(1.5v干电池电流多大)

    1.5v干电池电流是多少(1.5v干电池电流多大)

  • qq举报别人别人会知道是我吗(qq举报别人别人能不能举报自己)

    qq举报别人别人会知道是我吗(qq举报别人别人能不能举报自己)

  • word文档目录自动索引(word文档目录自动生成有别的标题)

    word文档目录自动索引(word文档目录自动生成有别的标题)

  • iphone x怎么设置铃声(iphone x怎么设置竖屏)

    iphone x怎么设置铃声(iphone x怎么设置竖屏)

  • 苹果11上面的刘海怎么才能不显示(苹果11为啥有个小刘海)

    苹果11上面的刘海怎么才能不显示(苹果11为啥有个小刘海)

  • iphone11机身材质(iphone 11机身材质)

    iphone11机身材质(iphone 11机身材质)

  • 数据预处理技术有哪些(数据预处理技术相关书籍)

    数据预处理技术有哪些(数据预处理技术相关书籍)

  • a3010是什么型号(a30是什么手机型号)

    a3010是什么型号(a30是什么手机型号)

  • oppo手机插头和华为一样吗(oppo手机插头是什么型号)

    oppo手机插头和华为一样吗(oppo手机插头是什么型号)

  • 极米z6x梯形校正哪里找(极米z6x梯形校正超出范围)

    极米z6x梯形校正哪里找(极米z6x梯形校正超出范围)

  • soul可以搜通讯录吗(soul可以搜索联系人吗)

    soul可以搜通讯录吗(soul可以搜索联系人吗)

  • 刷宝怎么不可以上传作品(刷宝为什么不转了)

    刷宝怎么不可以上传作品(刷宝为什么不转了)

  • gnetmous.exe是什么进程 作用是什么 gnetmous进程查询(gwsloader.exe是什么意思)

    gnetmous.exe是什么进程 作用是什么 gnetmous进程查询(gwsloader.exe是什么意思)

  • mysql子分区的使用注意(mysql分区语句)

    mysql子分区的使用注意(mysql分区语句)

  • 企业固定资产入账新标准
  • 暂估入账纳税调整填哪里
  • 代收的水资源税收入是否计入企业所得税
  • 车辆使用费属于什么税收分类
  • 汇算清缴是不是按照审计报告
  • 预期报酬率和期望报酬率一样吗
  • 对公账户给私人转账手续费
  • 提交印花税会计分录
  • 调整以前年度递延收益确认收入账务处理
  • 发票上盖财务章吗
  • 供应商不给我们开发票,我怎么入账
  • 淘宝企业店铺是工厂直销吗
  • 应交印花税会计分录
  • 0税率发票纳税申报如何填报
  • 是不是所有的进口药都不能报销
  • 垃圾填埋沼气发电招聘
  • 零申报企业所得税
  • 非居民企业指定扣缴合同备案
  • 跨地区经营建筑企业预缴企业所得税
  • 滴滴打车怎么整
  • 工资薪金总额包括哪些内容
  • 实物捐赠怎么避免多缴企业所得税?
  • 装修工程款如何记账
  • 失控发票是什么
  • 消防工程改造需要什么资质
  • 小黑马下载
  • 如何设置鼠标移过超链接
  • mcshield.exe是什么进程
  • php实现的链式队列是什么
  • kaggle官网注册
  • 改进yolov4
  • 什么是企业最佳融资方式
  • 营业外收入主要来源
  • 商业折扣影响入账金额吗
  • web渗透实战
  • 房产税的征税范围为
  • 天然气票据
  • 可用保证金余额为负
  • Nat Biotechnol –精准 CRISPR-Cas噬菌体疗法将为重症感染患者带来福音
  • 增值税普通发票和普通发票一样吗
  • 小规模纳税人增值税税率
  • php 上传
  • 增值税加计抵减政策10%和15%
  • 预付账款未取得发票
  • 支付货款订金入什么科目
  • 收到保险赔款是什么意思
  • 银行付款退回重付怎么办
  • 交易性金融资产的入账价值
  • 购买天然气进项税额
  • 出售二手固定资产如何开票
  • 企业所有者权益是指什么
  • 软碟通可以制作uefi启动盘吗
  • centos vncviewer
  • symsrv.dll 病毒专杀
  • vim 多窗口启动以及相互切换
  • 将windows的文件上传到ubuntu
  • win7小键盘数字键不能用怎么办
  • winxp系统优化
  • 重装win7旗舰版重启后黑屏
  • 学习的引子
  • org.cocos2d.straydiary
  • macbook编译java
  • [置顶] [笔记]
  • dos批处理实例
  • opengl入门视频教程
  • python中的__dict__
  • android多点触控
  • shell 批量改名
  • c++ 编程
  • 深入浅出python
  • 深入浅出css
  • 如何获取android实体类保存的数据
  • pythion
  • jquery获取多个元素
  • 改税务报表会有限风险吗
  • 慧算账财务公司简介
  • 医保漏缴如何补交
  • 税控盘离线开票时间超限是怎么回事
  • 水利基金按什么计提
  • 国家税务局网上浙江电子税务局官网
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设