百度地图JavaScript API是由JavaScript语言编写的应用程序接口,支持HTTP和HTTPS,免费对外开放。在使用前,需先申请密钥(ak)才可使用。主要分为两种类型的版本:
①JavaScript API GL(使用了WebGL对地图、覆盖物等进行渲染,支持3D视角展示地图);
②JavaScript API(最新的为v3.0,主要支持2D平面地图,接口使用无次数限制)。
一、申请密钥
- 进入控制台左侧的【应用管理】→【我的应用】,点击创建应用,填写表单中的应用名称、应用类型、IP白名单即可。这里创建两个应用,应用类型分别为“服务端”和“浏览器端”,Reference白名单填写“*”;IP白名单填写“0.0.0.0/0”。页面上对此有明确说明。
(ps:创建应用之前,需要完善个人信息,通过百度地图开发者认证)
在配置Referer白名单时,只需要将Referer中的域名部分填写就进去就可以了。如部署在本地的项目,Referer则为localhost;运行在服务器中的项目,则需要填写对应服务器的IP或者域名。——如何配置百度地图应用访问白名单;百度地图AK鉴权说明与白名单设置方法
( 创建完成后,即可得到对应的AK,这里需要注意:因新系统升级,自公告之日起,“服务端AK”不再支持浏览器端使用;在浏览器端使用,请选择“浏览器端AK”,例如JavaScript API只支持浏览器类型AK。)
二、使用BaiduMap JavaScript API
我们可以在官网主页的导航栏选择【开发文档】→【JavaScript API】,自行进行学习,进行HTMl网页地图的设计与配置。
2.1 网页框架
实现一个最简单的显示出百度地图的网页代码(这里使用的是Map2.0版本的API):
<!DOCTYPE html>
<html>
<head>
<!-- <meta charset="utf-8"> -->
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
<title>BaiduMap_Hello</title>
<style type="text/css">
html{height:100%}
body{height:100%;margin:0px;padding:0px}
#container{height:100%}
</style>
<script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=你的密钥(浏览器端)">
</script>
</head>
<body>
<div id="container"></div>
<script type="text/javascript">
var map = new BMap.Map("container");
var point = new BMap.Point(116.404, 39.915);
map.centerAndZoom(point,30);
</script>
</body>
</html>
运行上面代码结果图:
这里需要注意,如果直接安装官网示例来写,可能会出现运行结果为空白的情况,是由于引用百度地图API文件版本类型引用方式的问题。解决:
<script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=您的密钥">
//v2.0版本的引用方式:src="http://api.map.baidu.com/api?v=2.0&ak=您的密钥"
//v1.4版本及以前版本的引用方式:src="http://api.map.baidu.com/api?v=1.4&key=您的密钥&callback=initialize"
</script>
2.2 添加控件
官网学习:https://lbsyun.baidu.com/index.php?title=jspopularGL/guide/widget
map.addControl(new BMap.MapTypeControl());// 添加地图类型切换控件
map.addControl(new BMap.ScaleControl());// 添加比例尺控件
map.addControl(new BMap.CityListControl()); //添加城市选择列表控件
map.addControl(new BMap.ZoomControl());// 添加缩放控件
2.2 实现3D显示
需要使用WebGL版本的地图API,其引用方式如下:
<script type="text/javascript" src="//api.map.baidu.com/api?type=webgl&v=1.0&ak=你的密钥"></script>
GL版命名空间为BMapGL,示例:const map = new BMapGL.Map(‘container’);
// GL版命名空间为BMapGL
// 按住鼠标右键,修改倾斜角和角度
var map = new BMapGL.Map("container");// 创建Map实例
map.centerAndZoom(new BMapGL.Point(112.92, 27.91), 19); // 初始化地图,设置中心点坐标和地图级别
map.enableScrollWheelZoom(true);//开启鼠标滚轮缩放
map.setHeading(64.5);
map.setTilt(73);
2.3 个性化地图
https://lbsyun.baidu.com/index.php?title=jspopularGL/guide/custom
个性化地图,顾名思义用户可对地图进行个性化配置。通过该服务,允许用户将传统默认的地图样式按需配置,自由控制地图元素显隐及对应的元素样式。
用户可以通过个性化地图样式编辑器,按需编辑地图的底图样式,再按相应应用端的功能要求,将样式应用在JavaScript API和地图SDK中。
map.setMapStyleV2({
styleId: '73bcfca1ca6693eec2bb63e2d666af4d'
});
2.3使用开源库
https://lbs.baidu.com/index.php?title=jspopular3.0/openlibrary
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)