一、百度地图API接入

1、搜索百度地图开发平台

2、注册百度账号

3、登陆并申请成为开发者

4、在百度地图开发平台的首页选择控制台,在控制台中创建应用

创建好应用以后就能在控制台我的应用中看到这个应用,其中最重要的是AK,这是百度地图分配给我们应用的一个专用的秘钥,必须使用秘钥才能访问百度地图API。

二、在HTML中使用百度地图API

1、在html中引入百度地图js文件

将ak后的值替换为我们自己的秘钥。

2、在网页中定义一个DIV用于显示地图

显示地图的DIV一定要有id属性。

3、在网页中显示地图

基础步骤:

var map = new BMapGL.Map("container"); // 创建地图实例

var point = new BMapGL.Point(116.404, 39.915); // 通过地理位置的经纬度创建点坐标

map.centerAndZoom(point, 15); // 初始化地图,设置中心点坐标和地图级别

可选步骤:

map.centerAndZoom(point, 15); // 初始化地图,设置中心点坐标和地图级别

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

map.setMapType(BMAP_EARTH_MAP); // 设置地图类型为地球模式

4、添加可选控件

var scaleCtrl = new BMapGL.ScaleControl(); // 添加比例尺控件

map.addControl(scaleCtrl);

var zoomCtrl = new BMapGL.ZoomControl(); // 添加缩放控件

map.addControl(zoomCtrl);

var cityCtrl = new BMapGL.CityListControl(); // 添加城市列表控件

map.addControl(cityCtrl);

var locationControl = new BMapGL.LocationControl(); // 添加定位控件

map.addControl(locationControl);

5、定位功能

百度地图支持浏览器定位和IP定位,当浏览器定位失败时,会默认采用IP定位。浏览器定位更加精确,IP定位只能定位到大概位置。

百度地图自带定位控件没有使用IP定位

//获取当前地理位置 将地图中心点移动到定位位置

var geolocation = new BMapGL.Geolocation();//创建定位对象

geolocation.getCurrentPosition(function (r) {//通过定位对象调用定位函数,回调函数形参r表示定位结果

if (this.getStatus() == BMAP_STATUS_SUCCESS) {//如果定位成功

var mk = new BMapGL.Marker(r.point);//创建标记,r是定位结果,r.point就是当前定位的地点

map.addOverlay(mk);//将标记对象添加到地图上

map.panTo(r.point);//将地图中心店移动到定位地点

// alert('您的位置:' + r.point.lng + ',' + r.point.lat);

}

else {

alert('failed' + this.getStatus());

}

});

6、添加地图标记

//给地图添加点击事件

map.addEventListener("click",function(e){

//形参名称e地图点击事件的事件源

//console.log(e.latlng.lng+","+e.latlng.lat);

var mk = new BMapGL.Marker(e.latlng);//创建标记,r是定位结果,r.point就是当前定位的地点

map.addOverlay(mk);//将标记对象添加到地图上

})

7、给地图标记添加点击事件

//给地图添加点击事件

map.addEventListener("click",function(e){

//形参名称e地图点击事件的事件源

//console.log(e.latlng.lng+","+e.latlng.lat);

var mk = new BMapGL.Marker(e.latlng);//创建标记,r是定位结果,r.point就是当前定位的地点

mk.addEventListener("click",function(){//给标记添加点击事件

console.log(this);//this指代标记

//由于标记属于地图对象map的子标签,所以当我们点击标记时,会出现冒泡,map的点击事件也会触发

//可以使用事件源对象的stopPropagation函数组织后续的事件冒泡

event.stopPropagation();

});

map.addOverlay(mk);//将标记对象添加到地图上

})

8、添加信息窗口

//添加信息窗口(封装的函数)

function addInfoWindow(content,point,width,height,title) {

//必要参数 content和point

//content既可以是文本 也可以是标签

//point是经纬度地理位置

//后面3个参数是可选的

var opts = {

width: width, // 信息窗口宽度

height: height, // 信息窗口高度

title: title // 信息窗口标题

}

var infoWindow = new BMapGL.InfoWindow(content, opts); // 创建信息窗口对象

map.openInfoWindow(infoWindow, point); // 打开信息窗口

}

9、路径规划

驾车路径规划

//驾车路径规划对象

//该对象一定在地图加载出来以后再创建 一般放在创建好地图对象map以后 而且一个网页最好只能创建一次 否则将无法清除上一次的规划路径

driving = new BMapGL.DrivingRoute(map, { renderOptions: { map: map, autoViewport: true } });

//使用路径规划对象 查找路线

driving.clearResults();//从地图上清空上一次的规划路径

driving.search(startPoint, endPoint);//开始路径规划,传入开始点和结束点

公交路径规划

//公交路径规划对象

//创建公交路径规划对象 一定在地图加载出来以后再创建 一般放在创建好地图对象map以后 而且一个网页最好只能创建一次 否则将无法清除上一次的规划路径

transit = new BMapGL.TransitRoute(map, {

renderOptions: { map: map },

onSearchComplete: function (results) {

if (transit.getStatus() != BMAP_STATUS_SUCCESS) {

return;

}

//alert(results.getNumPlans());//获取公交规划方案总数

//在此处设计公交路径规划显示的html模板

var output = '';

for(var i=0;i

var plan = results.getPlan(i);

output +='

总时长:'+plan.getDuration(true)+'

';//获取时间

output += '

总路程:'+plan.getDistance(true)+'

'; //获取距离

output +=plan.getDescription(true)+"

";

}

$('#result').css('display', 'block');//#result 是我们自己定义的一个div 绝对定位 先隐藏起来 路径规划成功显示

$('#result').html(output);// 将组装好的路径规划HTML标签模板放到#result div中显示出来

},

});

transit.clearResults();//清空上次规划路径

transit.search(startPoint, endPoint);//公交路径规划

10、正逆地址解析

根据经纬度查找位置

// 创建地理编码实例

var myGeo = new BMapGL.Geocoder();

// 根据坐标得到地址描述

myGeo.getLocation(经纬度坐标点, function(result){

//funcation是一个回调函数 该回调函数在查找到了具体的地理信息之后才执行

if (result){

alert(result.address);

}

});

根据地理位置查询经纬度坐标

//创建地址解析器实例

var myGeo = new BMapGL.Geocoder();

// 将地址解析结果显示在地图上,并调整地图视野

myGeo.getPoint(地址字符串(重庆市红旗河沟), function(point){

if(point){

//point就是经纬度点

}else{

alert('您选择的地址没有解析到结果!');

}

},可选参数)//可选参数传入城市名称 如果不传则在全球范围内查找 传入城市名称只在这个城市内查找

到此这篇关于JavaScript接入百度地图API的方法步骤的文章就介绍到这了,更多相关JavaScript接入百度地图内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

html插入地图的方法,JavaScript接入百度地图API的方法步骤相关推荐

  1. web前端JavaScript嵌入百度地图API的方法 最详细

    web前端JavaScript嵌入百度地图API最详细的方法 一.申请成为百度开发者,获得使用地图API接口的权限,获取(AK)码. 二.实现首图效果(可以参考开发者指南) 1. 根据Hello Wo ...

  2. react+typescript接入百度地图

    前言 本章我们将通过react+typescript的方式给项目接入百度地图 步骤一:注册百度开发者,获取密匙 百度地图开放平台注册成为开发者,进入控制台,创建应用获取AK密钥 步骤二:修改项目的in ...

  3. 快速接入百度地图定位、描点

    这里整理一下接入 百度地图 的流程,做一下记录(基于 Kotlin 语言开发). 第一步,肯定还是注册账号,创建应用了. 先来到百度地图 首页 登录自己或公司的 百度账号(公司项目,一般都是由公司提供 ...

  4. Vue项目接入百度地图,更改地图主题色

    接入流程: 1: 在Vue创建的项目里找到index.html的文件,在index.html文件里添加. <script type="text/javascript" src ...

  5. java 接入百度地图api

    先打开接入百度地图API 官网 http://lbsyun.baidu.com/ 然后点击 开发者文档 → web服务API 如果是第一次打开 则要填写信息 验证码一堆- 如果已经注册过了,则进入这一 ...

  6. android 调用百度sdk后运行不了,解决android程序中oncreate方法中调用百度地图MKSearchListener接口不执行的问题...

    因为工作的需要,我在做软件的时候用到地图,并且需要从地图中搜索公交.商户等信息,因此选择百度地图.百度地图搜索的poi搜索正好符合我的需求,但是软件完成后发现在软件第一次执行的时候总是出错,百度地图无 ...

  7. 共享单车接入百度地图,科技进步为“国民素质”背书

    共享单车的走红,方便人们出行的同时也带来了不少争议性社会话题,比如乱停乱放.私自开锁占用.损毁车辆.影响道路安全等,甚至一度引发有关"中国人没素质"的社会大讨论.规范化已经势在必行 ...

  8. javascript调用百度地图api

    百度地图提供sdk,javascript api等多种客户端调用方式,通常在网页上用的比较多,也就是javascript api,这里根据自己的使用,简单介绍一下如何快速使用javascript调用百 ...

  9. php网页地图上自定义,网页嵌入百度地图和使用百度地图api自定义地图的详细步骤...

    在网页中插入百度地图 如果想在自己的网页上面加入百度地图的话,可以用百度地图的api.具体使用方法如下: 第二步:设置地图,大家可以对网站显示地图的宽高进行设置,其余选项不动. 第三步:添加标注.点击 ...

最新文章

  1. atlas mysql 数据库同步_atlas+mysql实现主从复制和读写分离(二)
  2. 全球与中国固态电池市场深度研究及投资可行性评估报告2022-2028年
  3. founder of girton college
  4. linux 安装反病毒软件
  5. 如何搭建lamp(CentOS7+Apache+MySQL+PHP)环境 [转]
  6. 第37课 thinkphp5添加商品基本信息及通过前置钩子上传商品主图 模型事件(勾子函数)...
  7. 网站微端服务器,微端服务器
  8. jmeter web监听结果_监听器-聚合报告监听性能测试结果
  9. CSDN下载频道1月最受欢迎资源强力推荐~!
  10. 如何下载石家庄市卫星地图高清版大图
  11. Android蓝牙音乐获取歌曲信息
  12. java 护眼背景,设置Eclipse配色方案--设置不同背景色,有效护眼
  13. Word/Excel文档操作API哪家强?一张表带你了解Aspose和Spire系列全功能对比
  14. matlab, 生成一个数值一样的n维列向量
  15. 防范技巧 Windows百毒不侵的13个妙招
  16. 数据看板用什么软件做比较好-九数云
  17. 学习笔记-使用python进行数据分析
  18. Epson机械手程序开发(1)新建一个项目
  19. 【知识学习】matlab入门
  20. jvm脉络梳理1- jvm基础

热门文章

  1. Advanced Download Manager Pro安卓手机下载工具
  2. 预防“断种”风险,专家:基因编辑能提高我国种子竞争力
  3. 360全景拼接 opencv_OpenCV中的全景拼接例程
  4. JAVA高级开发思维导图
  5. Cauchy-Riemann方程的极坐标形式(翻译)
  6. exchange问题
  7. ios 打印c语言数组,第07天C语言(07):数组练习3
  8. oem客户工程流程图_承接瓜拉纳压片糖果加工/固体饮料贴牌/oem生产基地
  9. 人工智能知识全面讲解: 图像识别的准备工作
  10. 查看自己电脑上的机器码教材