详解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


相关推荐: 如何在IIS7中新建站点?详细步骤解析  利用python获取某年中每个月的第一天和最后一天  宙斯浏览器文件分类查看教程 快速筛选视频文档与图片方法  Laravel怎么生成二维码图片_Laravel集成Simple-QrCode扩展包与参数设置【实战】  Firefox Developer Edition开发者版本入口  如何在云服务器上快速搭建个人网站?  如何为不同团队 ID 动态生成多个独立按钮  JS碰撞运动实现方法详解  利用vue写todolist单页应用  Laravel怎么配置S3云存储驱动_Laravel集成阿里云OSS或AWS S3存储桶【教程】  Win11怎么恢复误删照片_Win11数据恢复工具使用【推荐】  php在windows下怎么调试_phpwindows环境调试操作说明【操作】  公司网站制作价格怎么算,公司办个官网需要多少钱?  如何在宝塔面板创建新站点?  laravel怎么实现图片的压缩和裁剪_laravel图片压缩与裁剪方法  Laravel怎么设置路由分组Prefix_Laravel多级路由嵌套与命名空间隔离【步骤】  php做exe能调用系统命令吗_执行cmd指令实现方式【详解】  Angular 表单中正确绑定输入值以确保提交与验证正常工作  用v-html解决Vue.js渲染中html标签不被解析的问题  Windows家庭版如何开启组策略(gpedit.msc)?(安装方法)  如何在Ubuntu系统下快速搭建WordPress个人网站?  如何在阿里云虚拟服务器快速搭建网站?  Android okhttputils现在进度显示实例代码  JavaScript如何实现倒计时_时间函数如何精确控制  成都网站制作公司哪家好,四川省职工服务网是做什么用?  如何用ChatGPT准备面试 模拟面试问答与职场话术练习教程  Midjourney怎么调整光影效果_Midjourney光影调整方法【指南】  清除minerd进程的简单方法  奇安信“盘古石”团队突破 iOS 26.1 提权  Laravel如何配置.env文件管理环境变量_Laravel环境变量使用与安全管理  Java垃圾回收器的方法和原理总结  Zeus浏览器网页版官网入口 宙斯浏览器官网在线通道  Laravel Session怎么存储_Laravel Session驱动配置详解  Laravel如何创建和注册中间件_Laravel中间件编写与应用流程  DeepSeek是免费使用的吗 DeepSeek收费模式与Pro版本功能详解  详解Huffman编码算法之Java实现  Javascript中的事件循环是如何工作的_如何利用Javascript事件循环优化异步代码?  高防服务器租用首荐平台,企业级优惠套餐快速部署  Laravel如何实现登录错误次数限制_Laravel自带LoginThrottles限流配置【方法】  网站制作公司哪里好做,成都网站制作公司哪家做得比较好,更正规?  ChatGPT 4.0官网入口地址 ChatGPT在线体验官网  如何在宝塔面板中创建新站点?  如何获取PHP WAP自助建站系统源码?  Laravel辅助函数有哪些_Laravel Helpers常用助手函数大全  如何在服务器上三步完成建站并提升流量?  如何在阿里云ECS服务器部署织梦CMS网站?  php json中文编码为null的解决办法  如何在云主机上快速搭建网站?  悟空识字怎么关闭自动续费_悟空识字取消会员自动扣费步骤  Windows10电脑怎么查看硬盘通电时间_Win10使用工具检测磁盘健康