百度地图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 相关文章推荐
javascript中不提供sleep功能如何实现这个功能
May 27 Javascript
判断访客终端类型集锦
Jun 05 Javascript
javascript表格的渲染组件
Jul 03 Javascript
Javascript实现快速排序(Quicksort)的算法详解
Sep 06 Javascript
AngularJs定制样式插入到ueditor中的问题小结
Aug 01 Javascript
Three.js 再探 - 写一个微信跳一跳极简版游戏
Jan 04 Javascript
实例详解Vue项目使用eslint + prettier规范代码风格
Aug 20 Javascript
vue通过style或者class改变样式的实例代码
Oct 30 Javascript
从源码里了解vue中的nextTick的使用
Nov 22 Javascript
Vue项目使用localStorage+Vuex保存用户登录信息
May 27 Javascript
axios实现文件上传并获取进度
Mar 25 Javascript
Angular封装表单控件及思想总结
Dec 11 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解析字符串里所有URL地址的方法
2015/04/03 PHP
Yii框架实现邮箱激活的方法【数字签名】
2016/10/18 PHP
PHP合并数组的2种方法小结
2016/11/24 PHP
ThinkPHP中调用PHPExcel的实现代码
2017/04/08 PHP
Javascript条件判断使用小技巧总结
2008/09/08 Javascript
js自定义事件及事件交互原理概述(二)
2013/02/01 Javascript
javascript陷阱 一不小心你就中招了(字符运算)
2013/11/10 Javascript
JavaScript编程学习技巧汇总
2016/02/21 Javascript
Jquery 自定义事件实现发布/订阅的简单实例
2016/06/12 Javascript
AngularJs基本特性解析(一)
2016/07/21 Javascript
js友好的时间返回函数
2016/08/24 Javascript
Javascript 判断两个IP是否在同一网段实例代码
2016/11/28 Javascript
解决给dom元素绑定click等事件无效问题的方法
2017/02/17 Javascript
Bootstrap popover 实现鼠标移入移除显示隐藏功能方法
2018/01/24 Javascript
three.js搭建室内场景教程
2018/12/30 Javascript
微信小程序 slot踩坑的解决
2019/04/01 Javascript
echarts统计x轴区间的数值实例代码详解
2019/07/07 Javascript
利用JavaScript的Map提升性能的方法详解
2019/08/14 Javascript
Node.js系列之安装配置与基本使用(1)
2019/08/30 Javascript
Layui Form 自定义验证的实例代码
2019/09/14 Javascript
JS数组进阶示例【数组的几种函数用法】
2020/01/16 Javascript
vue 子组件和父组件传值的示例
2020/09/11 Javascript
[06:40]2014DOTA2西雅图国际邀请赛 DK战队巡礼
2014/07/07 DOTA
Python使用MD5加密字符串示例
2014/08/22 Python
Python使用Django实现博客系统完整版
2020/09/29 Python
python实现计数排序与桶排序实例代码
2019/03/28 Python
Python参数解析模块sys、getopt、argparse使用与对比分析
2019/04/02 Python
python GUI库图形界面开发之PyQt5信号与槽的高级使用技巧(自定义信号与槽)详解与实例
2020/03/06 Python
公认8个效率最高的爬虫框架
2020/07/28 Python
西班牙最好的在线购买葡萄酒的商店:Vinoseleccion
2019/10/30 全球购物
编辑找工作求职信范文
2013/12/16 职场文书
小学生防溺水广播稿
2014/01/12 职场文书
残疾人小组计划书
2014/04/27 职场文书
调查研究项目计划书
2014/04/29 职场文书
考试没考好检讨书(精选篇)
2014/11/16 职场文书
2014年大学生工作总结
2014/11/20 职场文书