百度地图API踩坑(一)

news/2024/11/17 0:06:27/

       相信各位老哥之前已经看过了百度地图的官方文档,没有的建议去看一下,写本篇文章的目的是为了让各位想要学习使用百度地图API的兄弟们可以更加清楚明白的了解它要如何使用,结合本人之前的一些项目,告诉大家我之前踩过的坑,希望各位大佬多多指导,想要入门的兄弟们可以便捷一点。

一、账号注册

       首先呢,如果你想要正常使用百度地图API的话,一定要申请开发账号,注册服务密钥,注册方法不再赘述了,官网上很详细,要注意的是同一个百度账号只能申请一次百度开发者!!!!切记!!!不要问我为什么知道(笑哭)

二、hello world

       我们以  JavaScript API GL  为例 ,说一下hello world有什么需要注意的。

       首先我们需要引入百度地图API的js文件

<script type="text/javascript" src="https://api.map.baidu.com/api?v=1.0&type=webgl&ak=您的密钥"></script>

      当中 api?v=1.0 ,这个1.0是指 JavaScript API GL 的版本号,因为现在最新的就是1.0,所以这里不需要改,之后如果它继续更新,这个v= 便可以切换他调用的版本号;ak=这里面填写服务密钥,服务密钥很重要,一定要注册百度开发者,再申请密钥。

接下来,要做的是定义地图盒子,也就是承载地图的外部div,下面是官网给出的例子:

<style type="text/css"> 
html{height:100%} 
body{height:100%;margin:0px;padding:0px} 
#container{height:100%} 
</style><body><div id="container"></div>
</body>

这里呢要罗嗦一下,id为container的盒子其实就是百度地图的承载,我们调用的地图会呈现再这个盒子里,所以呢为了方便之后地图的开发,我建议大家用下面的方式定义地图容器:

<style>.map_box{width:100%;height:400px;}#container{width:100%;height:100%;}
</style><div class="map_box"><div id="container"></div>
</div>

       在上面的代码中,我把 container外部又包裹了一层div,其目的是为了之后调试的方便,因为直接在盒子容器container的div中修改css样式让我觉得是有风险的。它是容器,那我们就只把它当作容器对待,至于其他效果的实现,我们就把他交给外层的div,可以理解为我们把整个地图容器当作一个组件,为了保证他的独立性,所以把其他展示效果赋予外层的div。

然后,最重要的要来了!

我们要通过js新建地图对象来导入百度地图,具体如下。

<script type="text/javascript">
var map = new BMapGL.Map("container");
// 创建地图实例 ,container为地图容器的idvar point = new BMapGL.Point(116.404, 39.915);
// 创建点坐标 map.centerAndZoom(point, 15);
// 初始化地图,设置中心点坐标和地图级别 </script>

这个地方没有什么特别要注意的,需要知道的有三点:

1.如果要制作的页面中只包含一个地图,那么  var map = new BMapGL.Map("container"); 在整个js文件中只可定义一次!!!切记

2.我们需要知道在百度地图中,所有的位置最后都会通过new BMapGL.Point 新建点对象,再把该点渲染到地图中,之后如果想要在地图上做标记,也要通过该方法。

3.我们之后会发现百度地图有很多内置方法,map. ,为了然js代码更加整洁,易于读懂,我们会写很多函数来对其进行操作,这时候可能会用到map方法,但是map方法只能于var map = new BMapGL.Map("container")同级使用,我们要怎么办呢??? 没错,我们要通过参数传递,即把map当作参数传给下一级,这样便可以调用他的内置方法。

好了,这样百度地图API的hello world页面就创建成功了。在本片文章中,目前还是介绍的最基础的部分,之后还会为大家介绍其他进阶内容,比如说,标记点啊,标记点筛选啊,还有一些更牛批 的功能,之后再给大家介绍,好了本篇文章到此为止了,第二篇(二)我会尽快发出来


http://www.ppmy.cn/news/192174.html

相关文章

镁光闪存颗粒对照表_最全的内存颗粒编码规则说明,教你看穿内存条到底用的什么颗粒...

今天我们一起来了解、学习下海力士、南亚、镁光内存颗粒的编码规则,以帮助我们快速的看穿内存条到底使用的是什么颗粒,颗粒的质量和性能如何。 海力士内存颗粒编码规则 以苹果DDR4 2666MHz 64GB(2*32GB)笔记本内存条为例,价格8802元。 这款内存条采用的颗粒是海力士的H5ANAG…

自学大语言模型之BERT

BERT 模型由 Jacob Devlin、Ming-Wei Chang、Kenton Lee 和 Kristina Toutanova在BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding中提出。它是一种双向变换器&#xff0c;使用掩码语言建模目标和对包含多伦多图书语料库和维基百科的大型语…

论文学习笔记:Swin Transformer: Hierarchical Vision Transformer using Shifted Windows

论文阅读&#xff1a;Swin Transformer: Hierarchical Vision Transformer using Shifted Windows 今天学习的论文是 ICCV 2021 的 best paper&#xff0c;Swin Transformer&#xff0c;可以说是 transformer 在 CV 领域的一篇里程碑式的工作。文章的标题是一种基于移动窗口的…

如何在Mysql中已存在的表中增加字段

文章目录 前言语法变量含义 前言 我们在开发过程中总会遇到维护其他项目&#xff0c;这个时候有了新的需求&#xff0c;就会出现一种情况&#xff0c;那就是为已经存在的表中添加新的字段。 由于表中有数据存在&#xff0c;不能使用drop删除表后新建表&#xff0c;就会用到我们…

基于jsp、ssm手机商城系统

基于jsp、java、ssm框架手机销售商城系统 开发工具&#xff1a;eclipse (可以在IDEA上运行) 数据库&#xff1a;mysql&#xff0c;redis缓存 Echart制作图表 项目使用maven构建 系统分用户前台和管理员后台 前端使用bootstrap&#xff0c;layui框架实现 服务器&#xff…

传音科技面试

面试和岗位描述一点都不符合。 一面&#xff0c;我就不说了&#xff0c;一直在聊测试平台的想法。 二面&#xff0c;找了个前端的&#xff0c;整个面试几乎都是问前端的&#xff0c;干嘛不找个前端的就行了&#xff0c;为何要找测开的。 1.你前端使用什么框架&#xff1f;后端使…

新一代手机声音传音器THA-2开始发售,大家快来体验吧!

由成都杰华科技自主研发的手机声音传音器THA-2,第二代产品已经上线发售&#xff0c;小编带大家来了解一下这款神奇的传音神器吧&#xff01; THA传音器可以内录手机声音&#xff0c;通过 TC 系列软件将声音传送到电脑&#xff0c;高品质传音&#xff0c;抗外界干扰&#xff0c;…

AppsFlyer最新报告:传音控股移动互联表现全球增速第二

近日&#xff0c;全球知名移动归因与营销分析平台AppsFlyer发布了《广告平台综合表现报告第十四版》&#xff08;以下简称“报告”&#xff09;&#xff0c;深度解析全球 600 多家移动广告媒体渠道。报告显示&#xff0c;传音移动互联的表现位居全球增长指数&#xff08;Global…