详解Javascript百度地图接口开发文档中的类和方法
发布时间 - 2026-01-10 22:54:54 点击率:次JavaScript API v2.0介绍

百度地图JavaScript API是一套由JavaScript语言编写的应用程序接口,它能够帮助您在网站中构建功能丰富、交互性强的地图应用,包含了构建地图基本功能的各种接口,提供了诸如本地搜索、路线规划等数据服务。
该套API免费对外开放。自v1.5版本起,您需先申请密钥(ak)才可使用,接口(除发送短信功能外)无使用次数限制。
JavaScript API首家支持Https,如需要申请Https服务,请您认证企业信息,成为企业认证用户后,https将自动开通,同时获得更高的服务配额。
注意:仅JavaScript API
V2.0版本支持https,其他JavaScript API版本均不支持。使用https服务,请先检查您的版本以及配置注意事项。
调用API的基本文件格式
获取JavaScript API服务方法:
自JS APIv1.5之后,最新版本为2.0,您需要首先申请密钥(ak),才可成功加载API JS文件。
ak的使用方法如下:
<script src="http://api.map.baidu.com/api?v=2.0&ak"您的密钥" type="text/javascript">
其中参数v为API当前的版本号,目前最新版本为2.0。在1.2版本之前您还可以设置services参数,以告知API是否加载服务部分,true表示加载,false表示不加载,默认为true。。
创建地图实例
var map = new
BMap.Map("container");
//创建点坐标
var point = newBMap.Point(104.045,30.559);
//地图初始化
map.centerAndZoom(point,15);
百度地图控件
向地图添加控件:
map.addControl(newBMap.NavigationControl());
//控件位置:
var opts = {offset: newBMap.Size(150, 5)}
map.addControl(newBMap.ScaleControl(opts));
//修改控件配置:
var opts = {type:BMAP_NAVIGATION_CONTROL_SMALL}
map.addControl(newBMap.NavigationControl(opts));
地图覆盖物
所有叠加或覆盖到地图的内容,我们统称为地图覆盖物。如标注、矢量图形元素(包括:折线和多边形和圆)、信息窗口等。覆盖物拥有自己的地理坐标,当您拖动或缩放地图时,它们会相应的移动。
可以使用map.addOverlay方法向地图添加覆盖物,使用map.removeOverlay方法移除覆盖物,注意此方法不适用于InfoWindow。
//创建标注: var marker = newBMap.Marker(new BMap.Point(104.045,30.559)); //将标注添加到地图中: map.addOverlay(marker);
地图信息窗口提示
信息窗口在地图上方的浮动显示HTML内容。信息窗口可直接在地图上的任意位置打开,也可以在标注对象上打开(此时信息窗口的坐标与标注的坐标一致)。您可以使用InfoWindow来创建一个信息窗实例,注意同一时刻地图上只能有一个信息窗口处于打开状态。
var opts = {
width : 250,//信息窗口宽度
height: 100,//信息窗口高度
title : "Hello"//信息窗口标题
}
var infoWindow = newBMap.InfoWindow("World", opts);//创建信息窗口对象
map.openInfoWindow(infoWindow,map.getCenter());//打开信息窗口
地图信息窗口提示(事件触发显示)
事件方法与Map事件机制相同。可参考事件部分
监听标注事件:
marker.addEventListener("click",function(){
alert("您点击了标注");
});
给标注添加点击事件:
marker.addEventListener("click",function(){
map.openInfoWindow(infoWindow,map.getCenter());
});
定位(浏览器定位)
Geolocation地图定位,返回用户当前的位置。此方法利用浏览器的geolocation接口获取用户当前位置,不支持的浏览器将无法获取。
创建Geolocation对象实例:
var geolocation = newBMap.Geolocation();
geolocation.getCurrentPosition(function(r){
if(this.getStatus() == BMAP_STATUS_SUCCESS){ //判断状态
var mk = new BMap.Marker(r.point);//创建一个地图标注
map.addOverlay(mk);
map.panTo(r.point);//转向获取的地理坐标所在位置
alert('您的位置:'+r.point.lng+','+r.point.lat);
}
else {
alert('failed'+this.getStatus());
}
})
定位(IP定位)
LocalCity此类用于获取用户所在的城市位置信息。(根据用户IP自动定位到城市)
创建LocalCity对象实例:
myCity = new BMap.LocalCity();
myCity.get(function(e){
map.setCenter(e.name);
alert(e.name);
});
定位(经纬度定位)
点击获取经纬度实例:
map.addEventListener("click",function(e){
alert(e.point.lng + "," + e.point.lat);
});
根据经纬度定位实例:
var new_point = new BMap.Point(116.299689,40.1196618); var marker = newBMap.Marker(new_point);//创建标注 map.addOverlay(marker);//将标注添加到地图中 map.panTo(new_point);
地址解析
var myGeo = newBMap.Geocoder();//创建地址解析器实例
//将地址解析结果显示在地图上,并调整地图视野
myGeo.getPoint("北京市昌平区回龙观地铁站", function(point){
if (point) {
map.centerAndZoom(point, 15);
map.addOverlay(new BMap.Marker(point)); //在地图上标注地理位置
}else{
alert("您选择地址没有解析到结果!");
}
}, "北京市");
逆地址解析
Geocoder类用于获取用户的地址解析
var geoc = newBMap.Geocoder();
map.addEventListener("click",function(e){
var pt = e.point; //点击位置的坐标点
geoc.getLocation(pt, function(rs){
var addComp = rs.addressComponents;
alert(addComp.province + ", " +addComp.city + ", " + addComp.district + ", " +addComp.street + ", " + addComp.streetNumber);
});
步行规划
WalkingRoute用于获取步行路线规划方案。创建一个步行导航实例。location表示检索区域,类型可为地图实例、坐标点或城市名称的字符串。当参数为地图实例时,检索位置由当前地图中心点确定;当参数为坐标时,检索位置由该点所在位置确定;当参数为城市名称时,检索会在该城市内进行。
步行规划实例:
var walking = newBMap.WalkingRoute(map, {renderOptions:{map: map, autoViewport: true}});
walking.search("天坛公园", "故宫");
获取步行导航的结果显示实例:
var walking = newBMap.WalkingRoute(map, {renderOptions: {map: map, panel: "r-result",autoViewport: true}});
walking.search("天坛公园", "故宫");
驾车规划
DrivingRoute此类用于获取驾车路线规划方案
驾车线路规划实例:
var driving = newBMap.DrivingRoute(map, {renderOptions: {map: map, panel: "r-result",autoViewport: true}});
driving.search("女子医院", "王府井广场");
公交检索
TransitRoute用于获取公交路线规划方案
公交检索实例:
var transit = newBMap.TransitRoute(map, {renderOptions: {map: map, panel:"r-result"}});
transit.search("中医大省医院", "明宇金融广场");
信息检索
LocalSearch用于位置检索、周边检索和范围检索
关键字检索实例:
var local = new BMap.LocalSearch(map,{
renderOptions:{map: map}
});
local.search("景点");
本地检索结果实例:
var local = newBMap.LocalSearch(map, {
renderOptions: {map: map, panel: "r-result"}
});
local.search("餐饮");
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流。
# javascript
# 百度地图
# 地图开发
# 百度地图js
# api接口
# JavaScript实现经纬度转换成地址功能
# 用NodeJS实现批量查询地理位置的经纬度接口
# 基于JavaScript实现高德地图和百度地图提取行政区边界经纬度坐标
# 根据经纬度计算地球上两点之间的距离js实现代码
# JS开发中百度地图+城市联动实现实时触发查询地址功能
# JS百度地图搜索悬浮窗功能
# js实现百度地图定位于地址逆解析
# 显示自己当前的地理位置
# js实现百度地图同时显示多个路书效果
# JS代码实现百度地图 画圆 删除标注
# 最全面的百度地图JavaScript离线版开发
# JS实现根据详细地址获取经纬度功能示例
# 您的
# 在地
# 加载
# 创建一个
# 图上
# 北京市
# 此类
# 最新版本
# 才可
# 图中
# 昌平区
# 王府井
# 自己的
# 中心点
# 请您
# 会在
# 您可以
# 坐标点
# 请先
# 更高
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
北京专业网站制作设计师招聘,北京白云观官方网站?
Laravel如何使用Socialite实现第三方登录?(微信/GitHub示例)
怎样使用JSON进行数据交换_它有什么限制
品牌网站制作公司有哪些,买正品品牌一般去哪个网站买?
Android自定义控件实现温度旋转按钮效果
Laravel怎么配置S3云存储驱动_Laravel集成阿里云OSS或AWS S3存储桶【教程】
重庆市网站制作公司,重庆招聘网站哪个好?
Linux系统命令中screen命令详解
高防服务器:AI智能防御DDoS攻击与数据安全保障
Laravel的Blade指令怎么自定义_创建你自己的Laravel Blade Directives
bing浏览器学术搜索入口_bing学术文献检索地址
网站制作报价单模板图片,小松挖机官方网站报价?
Laravel如何处理跨站请求伪造(CSRF)保护_Laravel表单安全机制与令牌校验
高端建站如何打造兼具美学与转化的品牌官网?
Laravel如何配置中间件Middleware_Laravel自定义中间件拦截请求与权限校验【步骤】
Laravel如何部署到服务器_线上部署Laravel项目的完整流程与步骤
如何快速搭建安全的FTP站点?
如何自定义建站之星网站的导航菜单样式?
广州网站制作公司哪家好一点,广州欧莱雅百库网络科技有限公司官网?
深入理解Android中的xmlns:tools属性
微信小程序 配置文件详细介绍
如何解决hover在ie6中的兼容性问题
悟空浏览器如何设置小说背景色_悟空浏览器背景色设置【方法】
Linux安全能力提升路径_长期防护思维说明【指导】
如何自定义建站之星模板颜色并下载新样式?
Android实现代码画虚线边框背景效果
Laravel API资源(Resource)怎么用_格式化Laravel API响应的最佳实践
制作ppt免费网站有哪些,有哪些比较好的ppt模板下载网站?
Linux网络带宽限制_tc配置实践解析【教程】
Laravel Eloquent关联是什么_Laravel模型一对一与一对多关系精讲
Laravel中的withCount方法怎么高效统计关联模型数量
详解Android中Activity的四大启动模式实验简述
详解一款开源免费的.NET文档操作组件DocX(.NET组件介绍之一)
利用vue写todolist单页应用
香港网站服务器数量如何影响SEO优化效果?
Laravel项目怎么部署到Linux_Laravel Nginx配置详解
JavaScript中如何操作剪贴板_ClipboardAPI怎么用
如何快速搭建二级域名独立网站?
Laravel Telescope怎么调试_使用Laravel Telescope进行应用监控与调试
Zeus浏览器网页版官网入口 宙斯浏览器官网在线通道
昵图网官网入口 昵图网素材平台官方入口
详解jQuery中基本的动画方法
如何快速建站并高效导出源代码?
Laravel Pest测试框架怎么用_从PHPUnit转向Pest的Laravel测试教程
黑客入侵网站服务器的常见手法有哪些?
昵图网官方站入口 昵图网素材图库官网入口
Linux系统命令中tree命令详解
Win11怎么查看显卡温度 Win11任务管理器查看GPU温度【技巧】
Laravel路由Route怎么设置_Laravel基础路由定义与参数传递规则【详解】
Laravel Livewire是什么_使用Laravel Livewire构建动态前端界面

