百度地图api如何使用


Posted in Javascript onAugust 03, 2015

如果想用百度地图api,首先需要先获取一个百度地图api的密钥,然后引入百度地图的api,接下来,我们详细介绍下获取、引入api密钥的技巧,以及通过代码给大家详解下百度地图api如何使用,具体请看下文。

首先 ,如果想调用百度地图api,你需要获取一个百度地图api的密钥。

申请密钥很简单,在百度地图api的首页就有相关链接,填写相关信息百度就会给你一个密钥了。

接下来,就是引入百度地图的api

关键代码如下:

<script type="text/javascript" src="http://api.map.baidu.com/api?ak=yourkey&v=2.0&services=false"></script>

接下来我们就可以创建一个地图试试看了。(Js代码)
var map = new BMap.Map("container");          // 创建地图实例

var point = new BMap.Point(120.391655,36.067588);  // 创建点坐标

map.centerAndZoom(point, 15);

//map.centerAndZoom("北京", 15);

//map.centerAndZoom("Hongkong", 15);    
           
这里需要说明三点:

1.map.centerAndZoom方法创建地图,第一个参数可以是根据之前创建好的一个点为中心,创建出地图,也可以根据城市地区的中文名称创建地图。(如果拼写正确,可以根据城市的英文名称来创建)

2. map.centerAndZoom第二个参数是地图缩放级别,最大为19,最小为0。(但实际当缩小到3的时候就已经。。。)

百度地图api如何使用百度地图api如何使用

3.BMap.Map方法创建地图时候需要一个容器(地图会根据容器的大小自动进行调整。),填写相关容器的id。

关于地图大小:

可以通过

map.setZoom();

方法主动控制地图大小级别。

也可以通过设置

map.enableScrollWheelZoom(true);

利用鼠标滚轮控制大小。

百度地图提供了非常丰富的功能空间共我们使用。

1.Control:控件的抽象基类,所有控件均继承此类的方法、属性。通过此类您可实现自定义控件。

2.NavigationControl:地图平移缩放控件,PC端默认位于地图左上方,它包含控制地图的平移和缩放的功能。移动端提供缩放控件,默认位于地图右下方。

3.OverviewMapControl:缩略地图控件,默认位于地图右下方,是一个可折叠的缩略地图。

4.ScaleControl:比例尺控件,默认位于地图左下方,显示地图的比例关系。

5.MapTypeControl:地图类型控件,默认位于地图右上方(地图,卫星,三维)。

6.CopyrightControl:版权控件,默认位于地图左下方。

7.GeolocationControl:定位控件,针对移动端开发,默认位于地图左下方。

效果图

百度地图api如何使用 

map.addControl(new BMap.NavigationControl());//缩放平移控件

map.addControl(new BMap.ScaleControl());    //比例尺

map.addControl(new BMap.OverviewMapControl());//缩略图

map.addControl(new BMap.MapTypeControl()); //地图类型

map.setCurrentCity("青岛");

注意:当设置城市信息时,MapTypeControl的切换功能才能可用

地图事件:
百度地图API中的大部分对象都含有addEventListener方法,我们可以通过该方法来监听对象事件。
实例:

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

 alert("您点击了地图。");    

});

当我们不再希望监听事件时,可以将事件监听进行移除。每个API对象提供了removeEventListener用来移除事件监听函数。
map.removeEventListener("click", functionA);

map.addEventListener("click", functionA);

地图遮盖物:

Overlay:覆盖物的抽象基类,所有的覆盖物均继承此类的方法。

Marker:标注表示地图上的点,可自定义标注的图标。

Label:表示地图上的文本标注,您可以自定义标注的文本内容。

Polyline:表示地图上的折线。

Polygon:表示地图上的多边形。多边形类似于闭合的折线,另外您也可以为其添加填充颜色。

Circle: 表示地图上的圆。

InfoWindow:信息窗口也是一种特殊的覆盖物,它可以展示更为丰富的文字和多媒体信息。注意:同一时刻只能有一个信息窗口在地图上打开。

标注示例:

var point = new BMap.Point(120.389472,36.072362);//默认 可以通过Icon类来指定自定义图标
 var marker = new BMap.Marker(point);
 var label = new BMap.Label("青岛市政府",{offset:new BMap.Size(20,-10)});//标注标签 
 marker.setLabel(label)//设置标注说明
 marker.enableDragging();//标注可以拖动的
 marker.addEventListener("dragend", function(e){ 
  alert(e.point.lng + ", " + e.point.lat);//打印拖动结束坐标 
 }); 
 map.addOverlay(marker); 
 var point = new BMap.Point(120.387244,36.064835);
 var myIcon = new BMap.Icon("http://api.map.baidu.com/img/markers.png", new BMap.Size(23, 25));
 var marker2 = new BMap.Marker(point, {icon: myIcon}); 
 map.addOverlay(marker2);
 var infoWindow = new BMap.InfoWindow("<p style='font-size:14px;'>详细信息</p>"); //弹出窗口
 marker2.addEventListener("click", function(){
  this.openInfoWindow(infoWindow); 
 });

百度地图api如何使用

以上说明就是本文的全部内容,希望对大家使用百度地图api有所帮助。

Javascript 相关文章推荐
js apply/call/caller/callee/bind使用方法与区别分析
Oct 28 Javascript
jQuery的一些特性和用法整理小结
Jan 13 Javascript
jQuery对象数据缓存Cache原理及jQuery.data方法区别介绍
Apr 07 Javascript
在子窗口中关闭父窗口的一句代码
Oct 21 Javascript
jquery转盘抽奖功能实现
Nov 13 Javascript
jQuery 如何给Carousel插件添加新的功能
Apr 18 Javascript
JavaScript数组的栈方法与队列方法详解
May 26 Javascript
纯JS实现可用于页码更换的飞页特效示例
May 21 Javascript
微信小程序实现跑马灯效果完整代码(附效果图)
May 30 Javascript
浅谈angularJs函数的使用方法(大小写转换,拷贝,扩充对象)
Oct 08 Javascript
Nuxt页面级缓存的实现
Mar 09 Javascript
js实现带箭头的进度流程
Mar 26 Javascript
javascript实现输出指定行数正方形图案的方法
Aug 03 #Javascript
如何用js 实现依赖注入的思想,后端框架思想搬到前端来
Aug 03 #Javascript
javascript常见数据验证插件大全
Aug 03 #Javascript
javascript自定义in_array()函数实现方法
Aug 03 #Javascript
JavaScript简单修改窗口大小的方法
Aug 03 #Javascript
javascript实现随机读取数组的方法
Aug 03 #Javascript
JS实现选择TextArea内文本的方法
Aug 03 #Javascript
You might like
php使用imagick模块实现图片缩放、裁剪、压缩示例
2014/04/17 PHP
详解PHP中foreach的用法和实例
2016/10/25 PHP
thinkphp 中的volist标签在ajax操作中的特殊性(推荐)
2018/01/15 PHP
对于Laravel 5.5核心架构的深入理解
2018/02/22 PHP
PHP连接MySQL数据库的三种方式实例分析【mysql、mysqli、pdo】
2019/11/04 PHP
js不是基础的基础
2006/12/24 Javascript
JavaScript 编程引入命名空间的方法与代码
2007/08/13 Javascript
基于jquery的动态创建表格的插件
2011/04/05 Javascript
用nodejs写的一个简单项目打包工具
2013/05/11 NodeJs
jquery插件hiAlert实现网页对话框美化
2015/05/03 Javascript
详解nodejs爬虫程序解决gbk等中文编码问题
2017/04/06 NodeJs
nodejs实现大文件(在线视频)的读取
2020/10/16 NodeJs
微信小程序实现的一键复制功能示例
2019/04/24 Javascript
基于vue实现一个禅道主页拖拽效果
2019/05/27 Javascript
React传值 组件传值 之间的关系详解
2019/08/26 Javascript
Node.JS用纯JavaScript生成图片或滑块式验证码功能
2019/09/12 Javascript
vant中的toast层级改变操作
2020/11/04 Javascript
微信小程序组件生命周期的踩坑记录
2021/03/03 Javascript
python读取文件名称生成list的方法
2018/04/27 Python
Tensorflow:转置函数 transpose的使用详解
2020/02/11 Python
python实现将range()函数生成的数字存储在一个列表中
2020/04/02 Python
Keras-多输入多输出实例(多任务)
2020/06/22 Python
HTML5新增加标签和功能概述
2016/09/05 HTML / CSS
The North Face意大利官网:服装、背包和鞋子
2020/06/17 全球购物
HSRP的含义以及如何工作
2014/09/10 面试题
在c#中using和new这两个关键字有什么意义
2013/05/19 面试题
对象的序列化(serialization)类是面向流的,应如何将对象写入到随机存取文件中
2015/06/22 面试题
医务人员竞聘职务自我评价分享
2013/11/08 职场文书
人事助理岗位职责
2013/11/18 职场文书
英文商务邀请信
2014/01/22 职场文书
反四风对照检查材料思想汇报
2014/09/16 职场文书
2014年小学辅导员工作总结
2014/12/23 职场文书
上诉答辩状范文
2015/05/22 职场文书
工作证明格式范文
2015/06/15 职场文书
成功的商业计划书这样写才最靠谱
2019/07/12 职场文书
基于PyTorch实现一个简单的CNN图像分类器
2021/05/29 Python