位置: 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)(单图像三维重建)

  • 微信原图过期怎么恢复(微信原图过期怎样恢复)

    微信原图过期怎么恢复(微信原图过期怎样恢复)

  • cpu有什么用?(cpu有什么用处)

    cpu有什么用?(cpu有什么用处)

  • 手机通话功能怎么关闭(手机通话功能怎么关闭设置)

    手机通话功能怎么关闭(手机通话功能怎么关闭设置)

  • 手机原装膜有必要撕吗(手机原装膜有必要换钢化膜吗)

    手机原装膜有必要撕吗(手机原装膜有必要换钢化膜吗)

  • cpu中控制器的功能是什么(cpu中控制器的基本功能是什么)

    cpu中控制器的功能是什么(cpu中控制器的基本功能是什么)

  • 华为手机如何输入根号(华为手机如何输入中文)

    华为手机如何输入根号(华为手机如何输入中文)

  • 抖音已读功能怎么设置(抖音已读功能怎么关闭苹果)

    抖音已读功能怎么设置(抖音已读功能怎么关闭苹果)

  • 淘小二在哪里(淘小二在哪里进入)

    淘小二在哪里(淘小二在哪里进入)

  • cpu全称是什么(最新的cpu处理器型号)

    cpu全称是什么(最新的cpu处理器型号)

  • 手机左上角4g没了(手机左上角4g没了,流量用不了)

    手机左上角4g没了(手机左上角4g没了,流量用不了)

  • ipad内存不够怎么扩充(iPad内存不够怎么更新)

    ipad内存不够怎么扩充(iPad内存不够怎么更新)

  • ipad2019可以用鼠标吗(ipad2018可以用鼠标吗?)

    ipad2019可以用鼠标吗(ipad2018可以用鼠标吗?)

  • 小爱音箱可以连接电视吗(小爱音箱可以连接酷狗音乐吗)

    小爱音箱可以连接电视吗(小爱音箱可以连接酷狗音乐吗)

  • 手机护眼模式怎么关闭(手机护眼模式怎么调)

    手机护眼模式怎么关闭(手机护眼模式怎么调)

  • 苹果没有访问限制功能(苹果手机没有访问限制的选项)

    苹果没有访问限制功能(苹果手机没有访问限制的选项)

  • 域里怎么做目录(目录的域怎么弄)

    域里怎么做目录(目录的域怎么弄)

  • 苹果8p手写输入法在哪里设置(苹果8p手写输入法怎么设置)

    苹果8p手写输入法在哪里设置(苹果8p手写输入法怎么设置)

  • 手机qq文件失效怎么恢复(手机qq文件失效怎么恢复没有电脑怎么办)

    手机qq文件失效怎么恢复(手机qq文件失效怎么恢复没有电脑怎么办)

  • 脉脉如何彻底注销账号(如何取消脉脉注册)

    脉脉如何彻底注销账号(如何取消脉脉注册)

  • 怎么安装双系统?win10稳定版和win11双系统安装图文教程(macbookpro怎么安装双系统)

    怎么安装双系统?win10稳定版和win11双系统安装图文教程(macbookpro怎么安装双系统)

  • 开机自动进入安全模式无法退出怎么办(开机自动进入安装模式)

    开机自动进入安全模式无法退出怎么办(开机自动进入安装模式)

  • ChatGPT加强版GPT-4面世,打工人的方式将被颠覆(gpt3 plug)

    ChatGPT加强版GPT-4面世,打工人的方式将被颠覆(gpt3 plug)

  • 目前最强的AI绘画模型——Midjourney v5(ai技术排名)

    目前最强的AI绘画模型——Midjourney v5(ai技术排名)

  • 手把手带你写一份优秀的开发求职简历(五)技术能力如何凸显优势(手把手怎么写)

    手把手带你写一份优秀的开发求职简历(五)技术能力如何凸显优势(手把手怎么写)

  • 小型微利企业的从业人数和资产总额
  • 税金及附加怎么来的
  • 个体户营业税怎么算
  • 购入固定资产入账
  • 境内公司代付境外货款
  • 资产负债表中本期盈余等于什么?
  • 过路费认证用去哪里认证
  • 发票税号错了怎么重开
  • 年报中纳税总额怎么填
  • 收资料费怎么入账科目
  • 纳税申报成功
  • 印花税资产划转
  • 电子发票可以认证几次
  • 装卸增值税税率最新的
  • 小规模跨年发票可以入账吗
  • 电子账本excel模板
  • 现金短缺或溢余的账务处理业务题
  • 暂估应付款借方
  • 联营企业分回的利润交企业所得税吗
  • 宿舍管理制度规定心得体会范文
  • 实际发生坏账的账务处理分录
  • 罚没收入要交税吗
  • 年初未交增值税借方怎么处理
  • 出租房屋免租期如何确认收入
  • 公司给员工发放的福利都要扣个税吗
  • 苹果系统怎么修改开机密码
  • 营运能力指标正常范围
  • 实收资本怎么用
  • 广告传媒公司的成本是什么
  • windows 11什么时候
  • sharedprem.exe - sharedprem是什么进程 有什么作用
  • php数组函数大全
  • 电脑显示语言栏在哪里
  • PHP:imagetypes()的用法_GD库图像处理函数
  • 赖格宝视频
  • 小规模纳税人工商年报网上怎么报
  • 计提费用收到发票后会计分录
  • php比较大小
  • 出口退税无纸化备案怎么弄
  • phppdo连接数据库
  • vue 组件调用
  • print函数php
  • 应收账款计提减值准备的方法
  • 咨询服务费怎么交税
  • python中如何创建一个对象
  • 帝国cms使用手册
  • 库存材料清查结论怎么写
  • 购车增值税可以不交吗
  • 应付账款的入账价值应当包括增值税的进项税额
  • 长期股权投资成本法转权益法的处理
  • 完工产品成本计算表怎么填
  • 一般纳税人适用3%税率情况
  • 固定资产提前报废当月计提折旧吗
  • 租出的固定资产
  • 营改增后房地产企业如何开票
  • 传媒公司的骗局把戏
  • 劳务税可以抵扣企业税比例
  • 企业购车购置税怎么算
  • 所得税汇算清缴退税会计分录怎么做
  • 印花税怎么申报缴纳
  • 食品算日用品吗
  • 什么是合理的工作安排
  • window装机必备应用
  • 各个都很实用:win7系统电脑日常小技巧
  • 机箱前面板是哪里
  • windows2003远程桌面服务
  • window部署服务
  • centos san
  • linux AS3 oracle9i 安装指南
  • windows使用svn命令
  • windows7窗口拖到屏幕顶端
  • win10无法uefi
  • linux怎么配置vim
  • centos6.5忘记密码
  • 两个linux系统之间如何传文件
  • 基于android的app
  • shell脚本一百例
  • javascript对象的创建方法
  • python3中map
  • js发送请求的几种方式
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设