百度地图JavaScript API开发GIS服务

2023-11-10

百度地图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(使用前将#替换为@)

百度地图JavaScript API开发GIS服务 的相关文章

随机推荐

  • 吴恩达ChatGPT《LangChain for LLM Application Development》笔记

    基于 LangChain 的 LLM 应用开发 1 介绍 现在 使用 Prompt 可以快速开发一个应用程序 但是一个应用程序可能需要多次写Prompt 并对 LLM 的输出结果进行解析 因此 需要编写很多胶水代码 Harrison Cha
  • 【Python数据挖掘课程】六.Numpy、Pandas和Matplotlib包基础知识

    前面几篇文章采用的案例的方法进行介绍的 这篇文章主要介绍Python常用的扩展包 同时结合数据挖掘相关知识介绍该包具体的用法 主要介绍Numpy Pandas和Matplotlib三个包 目录 一 Python常用扩展包 二 Numpy科学
  • RabbitMQ中重试机制的坑

    当我们消息消费失败的时候 可以进行重试 虽然SpringAMQP集成了retry机制 但是发现使用过程有点坑 等会细说 重试机制使用场景 1 如果是业务代码 比如空指针之类的异常那重试机制其实没什么用 2 如果是调用第三方系统 网络抖动之类
  • 二叉树遍历的非递归算法

    非递归的算法主要采用的是循环出栈入栈来实现对二叉树的遍历 下面是过程分析 以下列二叉树为例 图片来自懒猫老师 数据结构 课程相关内容 1 前序遍历 前序遍历的顺序为 根结点 gt 左子树 gt 右子树 基本过程 1 访问根结点 将根结点入栈
  • apply函数族简介

    apply函数 沿着数组的某一维度处理数据 例如 将函数用于矩阵的行或列 虽然与for while循环的效率相似 但只用一句话就可以完成 参数 apply 数组 维度 函数 函数名 x lt matrix 1 16 4 4 apply x
  • Java 基础 —— NIO 学习

    一 NIO 简介 java nio 全称 java non blocking IO 是指 JDK 提供的新 API 从 JDK1 4 开始 Java 提供了一系列改进的输入 输出的新特性 被统称为 NIO 即 New IO 新增了许多用于处
  • 95-38-040-Buffer-AbstractReferenceCountedByteBuf引用计数

    文章目录 1 总述 1 1 拓扑图 1 2 概述 2 私有变量 3 增加引用计数 4 减少引用计数 1 总述 1 1 拓扑图 1 2 概述 从名字可以推断 该抽象类实现引用计数相关的功能 引用计数的功能简单理解就是 x
  • 西安高新第三中学2021年高考成绩查询,西安高新三中的实力怎么样?让我们来看看这些数据……...

    有家长问 西安高新三中的升学率 到底是多少 可以考上五大又有多少个 先看参加中考的初中部 1 重点班和研讨班55 普通班35 别指望着公办初中的升学率超过60 数据很真实 残酷 2 去年高新三中定向生名额62个 其中高新一中给了5个 铁一中
  • python软件下载3版本-Python 3.7.2和3.6.8版本发布下载,附更新说明

    Python 3 7 2和Python 3 6 8版本发布了 支持Windows Linux UNIX Mac OS平台 已经提供Python 3 7 2 tgz和Python 3 6 8 tgz包下载 说明 Python 3 7 2属于P
  • 如何在右键新建中添加新建xmind文件

    如何在右键新建中添加新建xmind文件 导语 现在总是要写思维导图 所以希望新建的时候更方便快捷一点 不用打开软件新建才能选择新建文件之后文件的位置 于是就开始想能不能想Word文档一样直接鼠标右键新建处就可以有新建Word文档那样 方便的
  • KMP算法-时间复杂度分析

    KMP算法 假设m为模式串strM的长度 n为待匹配的字符串strN的长度 KMP的基本过程 求模式串strM的next数组 遍历比较待匹配的字符串strN 过程 遍历strN 遍历时出现strM j 的回跳 比较strN i strM j
  • 闲聊ROOT权限——ROOT权限的前世今生

    最近工作一直很忙 竟然慢慢地疏远了CSDN的博客 然而在工作中遇到问题 又会被多次的引导至CSDN 故笔者抽空也将自己学习的成果与大家分享在这里 希望能帮助到需要帮助的人 本文将从几个方面 由浅至深地讲述ROOT到底是什么东西 一 ROOT
  • python2.x脚本转换为python3.x脚本方法详细步骤与实践分享

    1 安装python3 x 2 设置python环境变更 将C Python36 Scripts C Python36 追加加到系统变更PATH中 注 C Python36为安装路径 若不一致请更换成你的安装路径 3 找到2to3 py脚本
  • java环境能加快matlab运行吗,花了一天,解决java调用matlab

    鉴于labview做不了web labview强项在于硬件仪器控制 可能也可以做web 还不会 虽然有web发布工具 但是基于远程前面板 最后效果都呈现在前面板上 涉及了跳转页面 matlab绘图等只在服务器端上显示的问题 因此 打算用ja
  • 支付通道简述

    1 苹果内购流程图 官方文档 简体中文文档 Apple Developer 苹果内购没有通知 需要前端调用后端接口 通知后端支付成功 订单号由前端提供 后端通过订单号处理业务逻辑 返回值示例 苹果服务器验证后的返回值文档地址 respons
  • js写一个简单的计算机,js实现一个简易计算器

    本文实例为大家分享了JS实现简易计算器的具体代码 供大家参考 具体内容如下14th test 这是一个标题 以下是一个简易计算器 第一个数 第二个数 var res 保存计算结果 function add var first documen
  • linux动态链接库的编译和使用

    文章目录 1 动态链接库的编译 2 可执行程序的编译 3 运行可执行程序 4 设置动态库查询目录 方法一 更改环境变量LD LIBRARY PATH 方法二 通过 Wl rpath编译链接选项指定 方法三 修改配置文件 etc ld so
  • 互联网企业使用云计算,有什么优势?

    现如今 上云已经成为企业发展过程中不可逆转的历史潮流趋势 如今 越来越多的企业开始采用云计算 因为它会给企业带来很多惊人的好处 云计算不仅可以降低企业成本 提高灵活性和弹性 还能优化资源的利用 从而提企业高竞争力 自动软件更新 许多公司及其
  • 2021.08.28-MMsegmentation0.16.0+Cuda10.1+Ubuntu16.04+Pytorch1.8环境安装

    个人在目标检测方向的学习比较深入 但在深度学习的图像处理中 语义分割也是一个很重要的方向 所以也想一探究竟 熟悉一下基本流程和工作原理 现打算在LINUX系统Ubuntu16 04上安装mmsegmentation框架 因为之前主要使用mm
  • 百度地图JavaScript API开发GIS服务

    百度地图JavaScript API是由JavaScript语言编写的应用程序接口 支持HTTP和HTTPS 免费对外开放 在使用前 需先申请密钥 ak 才可使用 主要分为两种类型的版本 JavaScript API GL 使用了WebGL