怎么在vue项目中使用百度地图API
小编给大家分享一下怎么在vue项目中使用百度地图API,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!
为什么要使用Vue
Vue是一款友好的、多用途且高性能的JavaScript框架,使用vue可以创建可维护性和可测试性更强的代码库,Vue允许可以将一个网页分割成可复用的组件,每个组件都包含属于自己的HTML、CSS、JavaScript,以用来渲染网页中相应的地方,所以越来越多的前端开发者使用vue。
1、在百度地图开放平台注册账号并登录
网址:http://lbsyun.baidu.com/index.php?title=jspopularGL
2、选择自己所需的地图版本:
我个人使用2.0足够了,其实就是懒,一直用的2.0没看3.0。但是3.0应该也差不多的使用。
3、在我们的vue项目中的public文件夹下的index.html中引入并记得替换上你的ak(这个ak不是其他的ak哈)
<script type="text/javascript" class="lazy" data-src="//api.map.baidu.com/api?v=2.0&ak=你的ak"></script>
4、之后就可以随处使用我们的百度地图了:
在我们需求的页面组件中添加地图容器:
<div id="map" class="map"></div>
这里的class用来定义大小、布局等样式操作;重要的是id值map。
一般我们会在组件加载,也就是页面渲染时加载我们的地图,所以我们可以在mounted阶段添加我们的核心代码:
// 百度地图API功能var map = new BMap.Map("map"); // 创建Map实例map.centerAndZoom(new BMap.Point(104.07258, 30.550701), 20); // 初始化地图,设置中心点坐标和地图级别//添加地图类型控件map.addControl( new BMap.MapTypeControl({ mapTypes: [BMAP_NORMAL_MAP, BMAP_HYBRID_MAP], }));map.setCurrentCity("成都"); // 设置地图显示的城市 此项是必须设置的map.enableScrollWheelZoom(true);
这样就在页面显示出来了我们的百度地图,记得css中添加宽高!!
5、标记点的添加并拥有点击弹窗效果:
let point = new BMap.Point(104.07258, 30.550501);// 创建点标记var marker = new BMap.Marker(point);// 在地图上添加点标记map.addOverlay(marker);// 创建信息窗口var opts = { width: 200, height: 100, title: "弹窗标题",};var infoWindow = new BMap.InfoWindow( "弹窗内容", opts);// 点标记添加点击事件marker.addEventListener("click", function () { map.openInfoWindow(infoWindow, point); // 开启信息窗口});
6、为坐标点添加文本标记:
//设置文本标记var opts2 = { position: point, // 指定文本标注所在的地理位置 offset: new BMap.Size(30, -30), // 设置文本偏移量};// 创建文本标注对象var label = new BMap.Label("成都书论技术有限公司", opts2);// 自定义文本标注样式label.setStyle({ color: "blue", borderRadius: "5px", borderColor: "#ccc", padding: "10px", fontSize: "16px", height: "50px", lineHeight: "30px", fontFamily: "微软雅黑",});map.addOverlay(label);
以上是“怎么在vue项目中使用百度地图API”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注编程网行业资讯频道!
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341