vue 项目中百度地图 API 使用流程

本文详细介绍了如何在百度地图开放平台注册、创建AK,以及在项目中集成和使用地图功能,包括设置地图控件、添加事件监听、绘制覆盖物等。此外,还列举了百度地图提供的丰富功能,如常规控件、地图事件和各种覆盖物类型。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、在百度地图开放平台注册账号并登录、认证

1、网址:http://lbsyun.baidu.com/index.php?title=jspopularGL
2、认证:认证方式分为个人认证和企业认证,这个需要根据自己的需要按照流程填写认证信息;

二、创建 ak

控制台 -> 应用管理 -> 我的应用 点击 创建应用 填写相关申请信息:
在这里插入图片描述
创建成功之后可以在应用列表查看自己申请的应用 ak
在这里插入图片描述
这个 ak 在开发过程中是必须的;

三、项目使用

1、在 index.html 中引入

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

这里 ak 是第二步申请的应用 ak,必填;

2、调用

<template>
	<div id="BDMap" stype="height:500px; overflow:hidden"></div>
</template>
<script>
export default {
	mounted(){
		this.map();
	},
	methods:{
		map(){
			//创建MAP实例,enableMapClick:false :禁用地图默认点击弹框
			let map = new Bmap.Map("BDMap", { enableMapClick: false }); 
			//创建点坐标
			let point = new Point(116.404, 39.915);
			// 初始化地图,设置中心点坐标和地图级别
			map.centerAndZoom(point, 11); 
			// 添加地图类型控件
	      	map.addControl(new BMap.MapTypeControl({ 
		    	mapTypes: [BMAP_NORMAL_MAP, BMAP_HYBRID_MAP]
		    }));
		    // 设置地图显示的城市 此项是必须设置的
		    map.setCurrentCity('北京'); 
		    // 开启鼠标滚轮缩放,不要的话注释掉着一行
		    map.enableScrollWheelZoom();
		}
	}
}
</script>

这里样式必须设置高度和 overflow:hidden,宽度根据自己需要设置;具体的需要根据自己的需求来添加不同的功能;

3、效果图
在这里插入图片描述

四、丰富的功能

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

1、常规功能

Control:控件的抽象基类,所有控件均继承此类的方法、属性。通过此类你可以自定义控件;
NavigationControl:地图平移缩放控件,PC 端默认位于地图左上方,它包含控制地图的平移和缩放的功能;移动端提供缩放控件,默认位于地图右下方;
OverviewMapControl:缩略地图控件,默认位于地图右下方,是一个可折叠的缩略地图;
ScaleControl:比例尺控件,默认位于地图左下方,显示地图的比例关系;
MapTypeControl:地图类型控件,默认位于地图右上方(地图,卫星,三维)。
CopyrightControl:版权控件,默认位于地图左下方。
GeolocationControl:定位控件,针对移动端开发,默认位于地图左下方。
在这里插入图片描述

2、地图事件
百度地图大部分 api 对象都含有 addEvemtListener 方法,我们可以用这个方法来自定义添加事件;同时也提供了 removeEventListener 事件来移除自定义的监听事件;

map.addEventListener('click',function(e){
	console.log(e)})
map.removeEventListener('click', 函数名)

3、地图覆盖物

Overlay:覆盖物的抽象基类,所有的覆盖物均继承此类的方法;
Marker:标注表示地图上的点,可自定义标注的图标;
Label:表示地图上的文本标注,您可以自定义标注的文本内容;
Polyline:表示地图上的折线;
Polygon:表示地图上的多边形。多边形类似于闭合的折线,另外你也可以为其添加填充颜色;
Circle: 表示地图上的圆;
InfoWindow:信息窗口也是一种特殊的覆盖物,它可以展示更为丰富的文字和多媒体信息;注意:同一时刻只能有一个信息窗口在地图上打开;

具体的功能可以直接参考百度地图 api 实例中心;

<think>好的,我需要帮助用户在Vue项目中集成百度地图API。首先,我应该回忆之前提供的引用内容,确保步骤正确。根据引用[^1],用户需要在public/index.html中引入百度地图的script标签,并替换自己的AK。然后,创建应用并获取AK的步骤也是关键。接下来,引用[^2]展示了如何在Vue组件中初始化地图,使用BMapGL.Map和设置中心点。 用户可能遇到的问题包括AK的获取是否正确,如何在组件中正确初始化地图,以及可能出现的DOM元素加载时机的问题。需要确保用户将地图容器放在组件的模板中,并且使用合适的生命周期钩子,比如mounted,来确保DOM已经渲染完毕。此外,可能还需要提醒用户处理异步加载的情况,或者使用官方文档推荐的组件库来简化流程。 需要分步骤说明,首先引入脚本,然后获取AK,接着在组件中创建地图实例。同时,提供代码示例,并指出常见的错误点,比如AK未替换,或者地图容器ID不正确。另外,可能还需要提到如何处理地图的缩放、控件添加等常见操作。最后,生成相关问题,帮助用户深入学习和解决问题。</think>### 在Vue使用百度地图API的分步指南 #### 1. 引入百度地图API脚本 在项目根目录的`public/index.html`文件中,添加以下脚本(需替换`你的AK`为实际密钥): ```html <script type="text/javascript" src="//api.map.baidu.com/api?type=webgl&v=1.0&ak=你的AK"> </script> ``` **注意**:AK需通过[百度地图开放平台](https://lbsyun.baidu.com/)申请,创建应用后获取[^1]。 #### 2. 创建地图容器组件 在Vue组件中定义地图容器: ```vue <template> <div id="map-container" style="width:100%; height:500px"></div> </template> ``` #### 3. 初始化地图实例 在`mounted`生命周期钩子中初始化地图: ```javascript export default { mounted() { // 确保DOM已渲染 this.$nextTick(() => { const map = new BMapGL.Map("map-container"); const point = new BMapGL.Point(116.404, 39.915); map.centerAndZoom(point, 15); map.enableScrollWheelZoom(true); // 启用滚轮缩放 }); } } ``` #### 4. 添加地图控件(可选) ```javascript // 添加缩放控件 map.addControl(new BMapGL.ZoomControl()); // 添加比例尺 map.addControl(new BMapGL.ScaleControl()); ``` #### 常见问题处理 - **AK无效**:检查密钥是否开通「浏览器端」权限 - **容器未渲染**:确保在`mounted`生命周期初始化,使用`$nextTick`保证DOM就绪 - **坐标偏移**:需使用百度坐标系(BD09),与其他坐标系转换需调用API方法
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值