以下内容已录制
点击观看视频

还有更多好玩的百度地图效果展示
百度地图效果

百度地图api 一些常用的用法总结(笔记)

参考百度地图官方api:百度地图官方api
百度地图提供的拾取坐标: 百度地图提供的拾取坐标
注:百度地图api文档是真详细

加载地图前提:

  1. 申请百度地图账号
  2. 申请开发者填写开发者信息
  3. 申请AK 点击查看申请步骤

一、 加载地图

加载地图步骤

  1. 新建一个html页面
  2. 引入js
<script type="text/javascript" src="http://api.map.baidu.com/api?type=webgl&v=1.0&ak=申请的AK"></script>
  1. 写下样式
<style>html, body, #container {width: 100%;height: 100%;overflow: hidden;margin: 0;padding: 0}
</style>
  1. 创建地图容器元素
<div id="container"></div>
  1. 开始写js 初始化地图
//1.创建地图实例
var map = new BMapGL.Map("container");
//2.设置中心经纬度  这里我们使用BMapGL命名空间下的Point类来创建一个坐标点。Point类描述了一个地理坐标点,其中120.872845表示经度,32.021089表示纬度。(为南通濠河风景区坐标)
var point = new BMapGL.Point(120.872845, 32.021089);
//3.在创建地图实例后,我们需要对其进行初始化,BMapGL.Map.centerAndZoom()方法要求设置中心点坐标和地图级别。 地图必须经过初始化才可以执行其他操作 值一般是3-19
map.centerAndZoom(point, 15);

map.centerAndZoom(point, 15);的最终效果
值越大 地图越大

map.centerAndZoom(point, 10);的最终效果
值越小 地图越小

二、 添加控件

var map = new BMapGL.Map("container");//创建地图实例
var point = new BMapGL.Point(120.872845, 32.021089);//设置中心经纬度
map.centerAndZoom(point, 15);//初始化地图
map.enableScrollWheelZoom(true); //开启鼠标滚轮 地图可以进行放大 缩小
map.addControl(new BMapGL.ScaleControl()); // 添加比例尺控件 左下角显示
map.addControl(new BMapGL.ZoomControl());// 添加缩放控件 右下角显示
map.addControl(new BMapGL.CityListControl());  // 添加城市列表控件 左上角
map.addControl(new BMapGL.MapTypeControl());// 地图类型 右上角显示

2.1 开启鼠标滚轮

map.enableScrollWheelZoom(true); //开启鼠标滚轮 地图可以进行放大 缩小

2.2 添加比例尺控件

map.addControl(new BMapGL.ScaleControl()); // 添加比例尺控件 左下角显示

2.3 添加缩放控件

map.addControl(new BMapGL.ZoomControl());// 添加缩放控件 右下角显示

2.4 添加城市列表控件

map.addControl(new BMapGL.CityListControl()); // 添加城市列表控件 左上角

2.5 添加地图类型

map.addControl(new BMapGL.MapTypeControl());// 地图类型 右上角显示
可切换3D地球模式

三、 文本标注

3.1添加默认的文本标注

//向地图添加了一个文本标注,并使用默认的标注样式:
var content = "hello world";
var label = new BMapGL.Label(content, {       // 创建文本标注position: point,                          // 设置标注的地理位置offset: new BMapGL.Size(10, 20)           // 设置标注的偏移量
})
map.addOverlay(label);                        // 将标注添加到地图中

3.2添加自定义样式的文本标注

//地图添加大号 文本标注
var content = 'hello world';
var label = new BMapGL.Label(content, {       // 创建文本标注position: point,offset: new BMapGL.Size(10, 20)
})
map.addOverlay(label);                        // 将标注添加到地图中
label.setStyle({                              // 设置label的样式color: '#000',fontSize: '50px',border: '2px solid blue'
})

3.3添加文本标注监听

//监听标注事件
label.addEventListener("click", function () {alert("您点击了文本标注");
});

四、 地图添加标注点

4.1 添加默认标注

添加成功后 会有一个默认的红色的定位图标显示在地图中

//Marker是一个用来往地图上添加点标记的类。使用它将任何你希望用户看到的兴趣点标注在地图上。
//API提供了默认图标样式,您也可以通过Icon类来指定自定义图标。Marker的构造函数的参数为Point和MarkerOptions(可选)。
//注意:当您使用自定义图标时,标注的地理坐标点将位于标注所用图标的中心位置,您可通过Icon的offset属性修改标定位置。
var point = new BMapGL.Point(120.872845, 32.021089);
var marker = new BMapGL.Marker(point);        // 创建标注
map.addOverlay(marker);                     // 将标注添加到地图中

4.2 添加自定义图片 标注(应用较多)

//定义标注图标 通过Icon类可实现自定义标注的图标,下面示例通过参数MarkerOptions的icon属性进行设置,您也可以
//marker.setIcon()方法。
var myIcon = new BMapGL.Icon("../images/love.png", new BMapGL.Size(23, 25), {// 指定定位位置。// 当标注显示在地图上时,其所指向的地理位置距离图标左上// 角各偏移10像素和25像素。您可以看到在本例中该位置即是// 图标中央下端的尖角位置。anchor: new BMapGL.Size(10, 25),// 设置图片偏移。// 当您需要从一幅较大的图片中截取某部分作为标注图标时,您// 需要指定大图的偏移位置,此做法与css sprites技术类似。//imageOffset: new BMapGL.Size(0, 0 - 25)   // 设置图片偏移
});
//创建标注对象并添加到地图
var marker = new BMapGL.Marker(point, { icon: myIcon });
map.addOverlay(marker);

4.3 设置图标可拖拽

enableDragging: true//设置图标可拖拽

var marker = new BMapGL.Marker(point, {icon: myIcon,enableDragging: true//设置图标可拖拽
});

4.4 添加地图标注监听

点击标注 出发点击事件

marker.addEventListener("click", function () {alert("您点击了自定义标注");
});

五、信息窗口

5.1 添加信息窗口

var point = new BMapGL.Point(120.872845, 32.021089);
var opts = {width: 250,     // 信息窗口宽度height: 100,    // 信息窗口高度title: "Hello World"  // 信息窗口标题
}
let content = `<table><tr><td>1</td><td>2</td><td>3</td></tr></table>`;
var infoWindow = new BMapGL.InfoWindow(content, opts);  // 创建信息窗口对象
map.openInfoWindow(infoWindow, point);        // 打开信息窗口//同时监听标注的点击事件
marker.addEventListener("click", function () {map.openInfoWindow(infoWindow, point);        // 打开信息窗口
});

六、 设置地图3D视觉+设置天空颜色

//设置地图3D视觉
map.setHeading(64.5);//旋转角度
map.setTilt(73);//地图倾斜
//设置天空颜色
map.setDisplayOptions({skyColors: ['rgba(186, 0, 255, 0)', 'rgba(186, 0, 255, 0.2)']//天空颜色
})

七、 交通流量图层

查看交通拥堵状况 红色为拥堵

var map = new BMapGL.Map("container");   // 创建地图实例
var point = new BMapGL.Point(121.441661, 31.173661);   // 创建点坐标
map.centerAndZoom(point, 15);                    // 初始化地图,设置中心点坐标和地图级别
map.enableScrollWheelZoom(true);                 // 开启鼠标滚轮缩放
map.setTrafficOn();                              // 添加交通流量图层

八、出行路线规划

8.1 驾车路线规划

传入起点和终点的两个ip地址,
可计算出驾车的距离和通行时间

var map = new BMapGL.Map("container");
map.centerAndZoom(new BMapGL.Point(121.187484, 31.869261), 12);
var output = '驾车需要:';
var start = new BMapGL.Point(121.187484, 31.869261);
var end = new BMapGL.Point(121.189752, 31.86958);
var driving = new BMapGL.DrivingRoute(map, {renderOptions: { map: map, autoViewport: true },onSearchComplete: function (results) {if (driving.getStatus() != BMAP_STATUS_SUCCESS) {return;}var plan = results.getPlan(0);output += '总时长:' + plan.getDuration(true);  //获取时间output += '总路程:' + plan.getDistance(true);  //获取距离$('#result').css('display', 'block');$('#result').html(output);},
});
driving.search(start, end);

8.2 公交路线规划

传入起点和终点的两个ip地址,
可计算出公交行驶的距离和通行时间

var map = new BMapGL.Map('container');
map.centerAndZoom(new BMapGL.Point(121.171548, 31.884098), 12);
var output = '坐公交车需要:';
var transit = new BMapGL.TransitRoute(map, {renderOptions: { map: map },onSearchComplete: function (results) {if (transit.getStatus() != BMAP_STATUS_SUCCESS) {return;}var plan = results.getPlan(0);output += '总时长:' + plan.getDuration(true);  //获取时间output += '总路程:' + plan.getDistance(true);  //获取距离$('#result').css('display', 'block');$('#result').html(output);},
});
var start = new BMapGL.Point(121.171548, 31.884098);
var end = new BMapGL.Point(121.193466, 31.873612);
transit.search(start, end);

8.3 步行路线规划

传入起点和终点的两个ip地址,
可计算出步行的距离和通行时间

var map = new BMapGL.Map("container");
map.enableScrollWheelZoom();
map.centerAndZoom(new BMapGL.Point(121.187484, 31.869261), 12);
var output = '步行需要:';
var walking = new BMapGL.WalkingRoute(map, {renderOptions: { map: map, autoViewport: true },onSearchComplete: function (results) {if (walking.getStatus() != BMAP_STATUS_SUCCESS) {return;}var plan = results.getPlan(0);output += '总时长:' + plan.getDuration(true);  //获取时间output += '总路程:' + plan.getDistance(true);  //获取距离$('#result').css('display', 'block');$('#result').html(output);},

8.4 骑行路线规划

传入起点和终点的两个ip地址,
可计算出骑行的距离和通行时间

var map = new BMapGL.Map("container");
map.centerAndZoom(new BMapGL.Point(121.187484, 31.869261), 12);
var output = '骑行需要:';
var riding = new BMapGL.RidingRoute(map, {renderOptions: {map: map,autoViewport: true},onSearchComplete: function (results) {if (riding.getStatus() != BMAP_STATUS_SUCCESS) {return;}var plan = results.getPlan(0);output += '总时长:' + plan.getDuration(true);  //获取时间output += '总路程:' + plan.getDistance(true);  //获取距离$('#result').css('display', 'block');$('#result').html(output);},
});
var start = new BMapGL.Point(121.187484, 31.869261);
var end = new BMapGL.Point(121.189752, 31.86958);

九、 个性化地图

效果

登录 百度地图api官网
点击开发文档->个性化地图编辑器

开始使用

点击新建

选一个免费的模板 点击使用

点击编辑JSON 复制所有json代码

将复制的json对象赋值给styleJson 对象
map.setMapStyleV2({ styleJson: styleJson });即可渲染地图

百度地图api-基本用法总结相关推荐

  1. 【百度地图API】建立全国银行位置查询系统(四)——如何利用百度地图的数据生成自己的标注...

    摘要: 上一章留个悬念,"如果自己没有地理坐标的数据库,应该怎样制作银行的分布地图呢?" 答案就是,利用百度地图上的数据. ---------------------------- ...

  2. IOS开发百度地图API入门到精通-用点生成路线,导航,气泡响应

    (转)IOS开发百度地图API入门到精通-用点生成路线,导航,气泡响应 IOS百度地图API开发自定义气泡,点击气泡自动生成路线,以及拖拽 IOS百度地图开发POISearch搜索附近停车场,附近加油 ...

  3. baidumap api MySQL_百度地图API

    本文我将从如何使用地图API(本文以百度为例,谷歌类似)开始,往后的扩展行的内容详见后续文章. 1.打开链接http://developer.baidu.com/map/jshome.htm 这里有很 ...

  4. c语言api获取百度地图,H5调用百度地图API获取地理位置

    //获取当前位置 var geolocation = new BMap.Geolocation(); geolocation.getCurrentPosition(function(r){ alert ...

  5. 百度地图API——多点路径连线问题

    本文系作者 chaoCode原创,转载请私信并在文章开头附带作者和原文地址链接. 违者,作者保留追究权利. 前言 本文是对于在项目应用有遇到的多点连线问题,我的一些解决方式,以及对于之前所学习的一些百 ...

  6. java百度地图插件下载地址_调用百度地图Api实现的查看地图功能的小插件

    1. 功能 bMap.js 可根据地理位置调用出百度地图,采用弹出框形式 2.用法 var city = '青岛市'; var address = '香港中路'; bMap.init({ city : ...

  7. android 调用百度地图规划,Android 调用百度地图API

    一.到 百度地图开发平台下载SDK 1.点击自定义下载 2.下载自己想要的功能包我这里选了三个 3.获取密钥 获取密钥之前我们要新建一个应用 填写好相关的信息 二. 新建一个项目工程 1. 把下载好的 ...

  8. html加载百度地图,百度地图API详解之地图API加载方式

    本文将向大家介绍百度地图API的两种不同加载方式:同步加载和异步加载. 同步加载 这是最常见的加载方式,开发者需要在页面的head标签内添加一个script标签,标签的src属性填写为地图API的地址 ...

  9. 使用Angular8和百度地图api开发《旅游清单》

    前言: 本文的目的是通过一步步实现一个旅游清单项目,让大家快速入门Angular8以及百度地图API.我们将收获: Angular8基本用法,架构 使用百度地图API实现自己的地图应用 解决调用百度地 ...

  10. 【百度地图API】——如何用label制作简易的房产标签

    摘要: 最近,API爱好者们纷纷说,自定义marker太复杂了!不仅定义复杂,连所有的dom事件都要自己重新定义.有没有快速简易创建房产标签的方法呢? 答案当然是有的啦~ 我们可以利用label嘛! ...

最新文章

  1. javascript表单之间的数据传递
  2. 自动禁止ssh的root登陆
  3. Tech ED的课程和动手实验营讲义已经发布,需要的赶紧去下载
  4. linux 多进程 多线程的选择
  5. 图解ARP协议(五)免费ARP:地址冲突了肿么办?
  6. python当中的生成器
  7. 《汇编语言》- 来自底层的较量 - 温故而知新
  8. python 多线程和协程结合_如何让 python 处理速度翻倍?内含代码
  9. insert自动跳过存在数据_轻松入门mongo 数据库
  10. mybatis源码解析(五) --- typehandler注册和处理的查询结果对象的类型转换
  11. c语言冒泡例子,C语言排序实例(选择、冒泡、插入、折半、快速)
  12. Ember.js 1.0 RC6 发布,JavaScript 框架
  13. linux gdb基本概念
  14. 3. beanstalkd
  15. 黑苹果 efi如何替换_小白第一次安装黑苹果,然后卡代码,别着急,教你一个通用步骤,一个一个排查,大部分是可以解决的,毕竟安装不是最难的一个步骤...
  16. 被裁员工公开呛声IBM人工智能,有双好鞋却不知怎么走路
  17. 4.35V锂电充电IC
  18. c /c++语法之extern关键字
  19. 【考研】22上海大学计算机上岸记录
  20. OpenCV 常见问题解决方案

热门文章

  1. java swing界面设计_java swing界面设计
  2. C#百度OCR本地图片识别文字
  3. 【软考系统架构设计师】2012年下系统架构师案例分析历年真题
  4. Linux资源管控【笔记】
  5. 一台阿里云ECS下的CIDI方案 最具性价比的简化DevOps自动化部署方案
  6. 第48节 C语言课程总结与展望
  7. Java调用阿里云对象存储OSS
  8. 怎样花两年时间去面试一个人(转自MIND HACKS)
  9. tempo 2.0 学习记录
  10. 前端开发入门到实战:纯CSS实现数据上报和HTML验证